在每次 PR 时进行测试和验证
每当针对main
分支打开 PR 时,都会运行一个验证脚本,以确保:
- 更改已使用 ruff 格式化
- 所有单元测试均通过
- 更改没有任何类型或 linting 错误。
.github/workflows/validate.yml
文件了解更多信息。

通过 Github Releases 构建 Docker 镜像
如果您正在使用 Dockerhub 作为镜像仓库,可以通过 Github Release 构建和推送镜像。此操作定义在.github/workflows/docker-images.yml
文件中。
- 为 Github Actions 创建 Docker 访问令牌

- 在您的 github 代码库中创建 secret 变量
DOCKERHUB_REPO
、DOCKERHUB_TOKEN
和DOCKERHUB_USERNAME
。这些变量由.github/workflows/docker-images.yml
中的 action 使用。

- 通过 Github Release 运行工作流
运行前请在
.github/workflows/docker-images.yml
文件中确认镜像名称
您也可以使用
gh workflow run
来运行工作流通过 Github Releases 构建 ECR 镜像
如果您使用 ECR 进行镜像存储,可以通过 Github Release 构建和推送镜像。此操作定义在.github/workflows/ecr-images.yml
文件中,并使用新的 OpenID Connect (OIDC) 方法请求访问令牌,无需使用 IAM 访问密钥。
我们将遵循此 指南 来创建一个将被 github action 使用的 IAM 角色。
- 打开 IAM 控制台。
- 在左侧导航菜单中选择 Identity providers。
- 在 Identity providers 窗格中,选择 Add provider。
- 对于 Provider type,选择 OpenID Connect。
- 对于 Provider URL,输入 GitHub OIDC IdP 的 URL:https://token.actions.githubusercontent.com
- 获取指纹以验证服务器证书
- 对于 Audience,输入 sts.amazonaws.com。

- 为提供商分配角色。

- 创建一个新角色。

- 确认 Web identity 已被选为受信任实体,并且 Identity provider 字段已填充了 IdP。在 Audience 列表中,选择 sts.amazonaws.com,然后选择 Next。

-
向此角色添加
AmazonEC2ContainerRegistryPowerUser
权限。 -
以
GithubActionsRole
的名称创建角色。 -
找到
GithubActionsRole
并复制其 ARN。

- 创建 ECR 仓库:
llm
和jupyter-llm
,这些将由工作流构建。

- 使用
GithubActionsRole
ARN 和 ECR 仓库更新工作流。
.github/workflows/ecr-images.yml
- 更新
docker-images
工作流,使其 不 在 release 时运行
.github/workflows/docker-images.yml
- 通过 Github Release 运行工作流

您也可以使用
gh workflow run
来运行工作流