Amazon CodeCatalyst 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 如何从 CodeCatalyst 迁移。
与 GitHub Actions 集成
GitHub 操作与 CodeCatalyst 操作很相似,只不过它旨在用于 GitHub 工作流。有关 GitHub Actions 的详细信息,请参阅 GitHub Actions
在 CodeCatalyst 工作流中,可以将 GitHub Actions 与原生 CodeCatalyst 操作一起使用。
可通过两种方式将 GitHub Action 添加到 CodeCatalyst 工作流:
-
可以在 CodeCatalyst 控制台中从经策管列表中选择 GitHub Action。提供了几个常用的 GitHub Actions。有关更多信息,请参阅 添加经策管 GitHub Action。
-
如果要使用的 GitHub Action 在 CodeCatalyst 控制台中不可用,则可以使用 GitHub Actions 操作添加它。
GitHub Actions 操作是一种 CodeCatalyst 操作,它包装了 GitHub Action 并使其能够与 CodeCatalyst 工作流兼容。
以下是包装 Super-Linter
GitHub Action 的 GitHub Actions 操作的示例: Actions: GitHubAction: Identifier: aws/github-actions-runner@v1 Configuration: Steps: - name: Lint Code Base uses: github/super-linter@v4 env: VALIDATE_ALL_CODEBASE: "true" DEFAULT_BRANCH: main在上述代码中,CodeCatalyst GitHub Actions 操作(由
aws/github-actions-runner@v1标识)包装了 Super-Linter 操作(由github/super-linter@v4标识),使其能够在 CodeCatalyst 工作流中运行。有关更多信息,请参阅 添加“GitHub Actions”操作。
所有 GitHub Actions(无论是否经策管)都必须包装在 GitHub Actions 操作(aws/github-actions-runner@v1)中,如前面的示例所示。此操作需要包装程序才能正常运行。
主题
GitHub Actions 与 CodeCatalyst 操作有何差异?
在 CodeCatalyst 工作流中使用的 GitHub Actions 的访问权限以及与 AWS 和 CodeCatalyst 功能(例如环境和事务)的集成级别与 CodeCatalyst 操作不同。
GitHub Actions 是否能与工作流中的其他 CodeCatalyst 操作进行交互?
是。例如,GitHub Actions 可以使用其他 CodeCatalyst 操作生成的变量作为输入,也可以与 CodeCatalyst 操作共享输出参数和构件。有关更多信息,请参阅导出 GitHub 输出参数和引用 GitHub 输出参数。
我可以使用哪些 GitHub Actions?
您可以使用 CodeCatalyst 控制台中提供的任何 GitHub Action 以及 GitHub Marketplace
CodeCatalyst 中 GitHub Actions 的限制
-
GitHub Actions 不能与 CodeCatalyst Lambda 计算类型一起使用。
-
GitHub Actions 在 2022 年 11 月版的运行时环境 Docker 映像(其中包括较旧的工具)上运行。有关映像和工具的更多信息,请参阅指定运行时环境映像。
-
CodeCatalyst 不支持内部依赖
github上下文或引用 GitHub 特定资源的 GitHub Actions。例如,以下操作在 CodeCatalyst 中无法执行: -
尝试添加、更改或更新 GitHub 资源的操作。示例包括更新拉取请求或在 GitHub 中创建事务的操作。
-
https://github.com/actions
中列出的几乎所有操作。
-
-
作为 Docker 容器操作
的 GitHub Actions 可以运行,但它们必须由默认 Docker 用户(根用户)运行。请不要以用户 1001 的身份运行此操作。(在撰写本文时,用户 1001 在 GitHub 中而非 CodeCatalyst 中工作。) 有关更多信息,请参阅 Dockerfile 对 GitHub Actions 的支持 中的 USER 主题。
有关通过 CodeCatalyst 控制台提供的 GitHub Actions 的列表,请参阅添加经策管 GitHub Action。
如何添加 GitHub Action(高级步骤)?
将 GitHub Action 添加到 CodeCatalyst 工作流的高级步骤如下所示:
-
在 CodeCatalyst 项目中,您可以创建工作流。在工作流中,您可以定义如何构建、测试和部署应用程序。有关更多信息,请参阅 入门工作流。
-
在工作流中,您可以添加经策管 GitHub Action 或添加 GitHub Actions 操作。
-
您可以执行下列操作之一:
-
如果您选择添加一个经策管操作,请配置该操作。有关更多信息,请参阅 添加经策管 GitHub Action。
-
如果您选择添加一个非经策管操作,请在 GitHub Actions 操作中,粘贴 GitHub Action 的 YAML 代码。您可以在 GitHub Marketplace
中的选定 GitHub Action 的详细信息页面上找到此代码。您可能需要略微修改代码以使其在 CodeCatalyst 中运行。有关更多信息,请参阅 添加“GitHub Actions”操作。
-
-
(可选)在工作流中,您可以添加其他操作,例如构建和测试操作。有关更多信息,请参阅 使用工作流进行构建、测试和部署。
-
您可以手动启动工作流,也可以通过触发器自动启动工作流。该工作流运行 GitHub Action 和工作流中的任何其他操作。有关更多信息,请参阅 手动启动工作流运行。
有关详细步骤,请参阅:
GitHub Action 是否在 GitHub 中运行?
否。GitHub Action 使用 CodeCatalyst 的运行时环境映像在 CodeCatalyst 中运行。
我是否也能使用 GitHub 工作流?
否。
“GitHub Actions”操作使用的运行时映像
CodeCatalyst GitHub Actions 操作在 2022 年 11 月版映像上运行。有关更多信息,请参阅 活动映像。