Fix guide issues

This commit is contained in:
yeasy
2026-03-28 18:24:46 -07:00
parent 5a6a50ba97
commit 85f76aa6d9
28 changed files with 123 additions and 885 deletions

View File

@@ -4,9 +4,11 @@ GitHub [Actions](https://github.com/features/actions) 是 GitHub 推出的一款
我们可以在每个 `job` `step` 中使用 Docker 执行构建步骤
## 21.2.1 最小可用示例
### 21.2.1 最小可用示例
在仓库根目录创建 `/.github/workflows/ci.yml`
更多语法权限模型和可用 action请以 [GitHub Actions 官方文档](https://docs.github.com/en/actions) 为准。
在仓库根目录创建 `.github/workflows/ci.yml`
```yaml
name: CI
@@ -32,7 +34,7 @@ jobs:
```
该示例会在 GitHub Actions 中构建当前仓库的 Docker 镜像不推送到 registry
## 21.2.2 最佳实践
### 21.2.2 最佳实践
* 固定 action 的主版本例如 `@v4` / `@v6`避免使用 `@master` 这类浮动引用
* 设置最小权限例如 `contents: read`需要写入权限时再打开
@@ -46,7 +48,3 @@ jobs:
with:
args: go version
```
## 21.2.3 参考资料
* [Actions Docs](https://docs.github.com/en/actions)

View File

@@ -7,14 +7,14 @@
本小节以 `GitHub` + `Drone` 来演示 `Drone` 的工作流程
当然在实际开发过程中你的代码也许不在 GitHub 托管那么你可以尝试使用 `Gogs` + `Drone` 来进行 CI/CD
## 21.3.1 关联项目
### 21.3.1 关联项目
GitHub 新建一个名为 `drone-demo` 的仓库
打开我们已经部署好的 Drone 网站或者 [Drone Cloud](https://cloud.drone.io)
使用 GitHub 账号登录在界面中关联刚刚新建的 `drone-demo` 仓库
## 21.3.2 编写项目源代码
### 21.3.2 编写项目源代码
初始化一个 git 仓库
@@ -71,7 +71,7 @@ trigger:
└── app.go
```
## 21.3.3 推送项目源代码到 GitHub
### 21.3.3 推送项目源代码到 GitHub
```bash
git add .
@@ -81,7 +81,7 @@ git commit -m "test drone ci"
git push origin master
```
## 21.3.4 查看项目构建过程及结果
### 21.3.4 查看项目构建过程及结果
打开我们部署好的 `Drone` 网站或者 Drone Cloud即可看到构建结果
@@ -89,9 +89,3 @@ git push origin master
当然我们也可以把构建结果上传到 GitHubDocker Registry
云服务商提供的对象存储或者生产环境中
## 21.3.5 参考链接
* [Drone Github](https://github.com/drone/drone)
* [Drone 文档](https://docs.drone.io/)
* [Drone 示例](https://github.com/docker-practice/drone-demo)

View File

@@ -1,15 +1,15 @@
## 21.4 Drone Demo
## 21.4.1 Demo 项目说明
### 21.4.1 Demo 项目说明
这是一个基于 Go 语言编写的简单 Web 应用示例用于演示 Drone CI 的持续集成流程
## 21.4.2 目录结构
### 21.4.2 目录结构
* `drone_demo.app.go`简单的 Go Web 服务器代码
* `drone_demo.drone.yml`Drone CI 的配置文件定义了构建和测试流程
## 21.4.3 如何使用
### 21.4.3 如何使用
1. 确保本地已安装 Docker 环境
2. 将示例文件重命名为 Drone 期望的文件名

View File

@@ -4,7 +4,7 @@
本节关注一个核心目标**开发依赖放进容器源码编辑体验留在本地 IDE**
## 21.5.1 适用场景
### 21.5.1 适用场景
* 团队希望统一开发环境Go/Node/Python 版本系统依赖编译链
* 本地系统不方便安装依赖例如 Windows公司管控环境
@@ -12,7 +12,7 @@
不太适合的场景强依赖本机 GPU/USB 设备或需要非常低延迟文件 IO 的工程此时可能需要额外调优挂载/同步策略
## 21.5.2 最小可用模式docker compose + 开发容器
### 21.5.2 最小可用模式docker compose + 开发容器
下面用一个长期运行的开发容器作为例子 Go 为例你可以替换为 Node/Python
@@ -45,7 +45,7 @@
这个模式的优点是简单直接IDE 无关缺点是 IDE 需要额外配置
例如配置远程解释器/语言服务或使用 VS Code Dev Containers
## 21.5.3 目录挂载与权限建议
### 21.5.3 目录挂载与权限建议
* Linux 下如果遇到容器内写文件权限问题优先确保容器内用户与宿主机 UID/GID 对齐
VS Code Dev Containers 支持自动处理手写 Dockerfile/compose 时也可以显式设置用户

View File

@@ -5,12 +5,12 @@ VS Code 的 [Dev Containers](https://code.visualstudio.com/docs/devcontainers/co
本节提供一个最小可用示例把任意项目 Go 为例变成打开即开发的容器化环境
## 21.6.1 前置条件
### 21.6.1 前置条件
* 安装 Docker Desktop Linux 上的 Docker Engine
* VS Code 安装扩展Dev Containers`ms-vscode-remote.remote-containers`
## 21.6.2 最小示例.devcontainer/devcontainer.json
### 21.6.2 最小示例.devcontainer/devcontainer.json
在项目根目录创建 `.devcontainer/devcontainer.json`
@@ -40,7 +40,7 @@ VS Code 会拉取镜像并启动容器,随后你就可以在容器内运行:
go test ./...
```
## 21.6.3 结合 Docker Compose可选
### 21.6.3 结合 Docker Compose可选
如果项目同时依赖数据库/缓存例如 Postgres/Redis可以使用 `dockerComposeFile`
把依赖一起拉起