
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
集成AWS CodeBuild和CodePipeline与Git服务
镜像地址: https://hub.docker.com/r/ebarault/codebuild-git-integration/
该镜像会将项目打包为ZIP归档文件,上传至指定的CODEBUILD_S3_BUCKET/CODEBUILD_S3_KEY位置,并启动AWS CodeBuild构建流程。构建流程会与S3中的归档版本绑定。
Bitbucket/GitLab流水线会等待AWS CodeBuild完成,并根据构建结果返回成功或失败状态。CodeBuild项目生成的产物会从S3下载到Bitbucket/GitLab runner的指定目录(默认是.codebuild_artifacts),以便后续流水线步骤使用。
CI特定的环境变量会导出到AWS CodeBuild runner:
所有以BITBUCKET_为前缀的环境变量都会被导出。完整的Bitbucket流水线环境变量列表可参考:Atlassian文档。用户可通过BITBUCKET_前缀导出额外环境变量。
所有以CI_或GITLAB_为前缀的环境变量都会被导出。完整的GitLab CI环境变量列表可参考:GitLab文档。用户可通过CI_/GITLAB_前缀或CI_ENV_PATTERN变量(指定额外前缀)导出更多环境变量。
bitbucket-pipelines.yml)yamlimage: ebarault/codebuild-git-integration:latest pipelines: default: - step: script: - | AWS_DEFAULT_REGION=eu-west-1 \ CODEBUILD_PROJECT_NAME=my-project-name \ CODEBUILD_S3_BUCKET=my-s3-bucket-name \ CODEBUILD_S3_ARCHIVE_KEY=codebuild/project-name/code.zip \ CODEBUILD_S3_RESULT_PATH=codebuild/project-name/codebuild-results \ CODEBUILD_START_JSON_FILE=cicd/buildspec/start_build.json \ start-build
.gitlab-ci.yml)yamlimage: ebarault/codebuild-git-integration:latest stages: - build codebuild_start: tags: - docker stage: build script: - | AWS_DEFAULT_REGION=eu-west-1 \ CODEBUILD_PROJECT_NAME=my-project-name \ CODEBUILD_S3_BUCKET=my-s3-bucket-name \ CODEBUILD_S3_ARCHIVE_KEY=codebuild/project-name/code.zip \ CODEBUILD_S3_RESULT_PATH=codebuild/project-name/codebuild-results \ CODEBUILD_START_JSON_FILE=cicd/buildspec/start_build.json \ start-build
CodeBuild生成的产物会下载到runner的.codebuild_artifacts目录,可在后续步骤中使用:
yamllinting: image: ebarault/codebuild-git-integration:latest script: - start-build artifacts: paths: - .codebuild_artifacts expire_in: 20 week
yamlpipelines: default: - step: name: Build and test image: ebarault/codebuild-git-integration:latest script: - start-build artifacts: - .codebuild_artifacts/**
当CodeBuild构建成功后,可通过Bitbucket自定义流水线触发AWS CodePipeline。CodeBuild生成的产物会被下载,若未打包则会被压缩并上传到Pipeline指定的S3桶和路径。Pipeline需配置为当指定S3桶有新文件时自动运行。
bitbucket-pipelines.yml)yamlimage: ebarault/codebuild-git-integration:latest pipelines: custom: pipeline_release: - step: script: - | AWS_DEFAULT_REGION=us-east-1 \ CODEBUILD_S3_BUCKET=my-s3-bucket-name \ CODEBUILD_S3_RESULT_PATH=codebuild/project-name/codebuild-results \ CODEPIPELINE_S3_BUCKET=my-pipeline-s3-bucket \ CODEPIPELINE_S3_ARCHIVE_KEY=codepipeline/project-name/pipeline.zip \ push-to-pipeline
.gitlab-ci.yml)yamlimage: ebarault/codebuild-git-integration:latest stages: - deploy pipeline_release: tags: - docker stage: deploy script: - | AWS_DEFAULT_REGION=us-east-1 \ CODEBUILD_S3_BUCKET=my-s3-bucket-name \ CODEBUILD_S3_RESULT_PATH=codebuild/project-name/codebuild-results \ CODEPIPELINE_S3_BUCKET=my-pipeline-s3-bucket \ CODEPIPELINE_S3_ARCHIVE_KEY=codepipeline/project-name/pipeline.zip \ push-to-pipeline
注意:可向start-build脚本传递额外的aws codebuild start-build命令参数,例如:
yaml... script: - start-build --buildspec-override cicd/my-other-buildspec.yml
建议将所有配置保存在bitbucket-pipelines.yml或.gitlab-ci.yml文件中,除了AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,以确保提交与对应的S3桶和路径关联。
AWS_ACCESS_KEY_ID:启动构建的AWS用户访问密钥AWS_SECRET_ACCESS_KEY:启动构建的AWS用户秘密访问密钥AWS_DEFAULT_REGION:CodeBuild执行的AWS区域CODEBUILD_S3_BUCKET:CodeBuild拉取代码归档的S3桶CODEBUILD_S3_ARCHIVE_KEY:CodeBuild拉取代码归档的S3键(例如:codebuild/my-project/my-code.zip)AWS_ASSUME_ROLE:执行CodeBuild/CodePipeline时要 Assume 的IAM角色ARNAWS_ASSUME_ROLE_DURATION:STS临时凭证的有效期(默认3600秒)VERBOSE:设为true时开启调试模式(可能泄露敏感信息)CODEBUILD_START_JSON_FILE:项目内JSON文件路径,用于合并start-build命令选项CODEBUILD_PROJECT_NAME:CodeBuild项目名称(若未在JSON文件中定义)CODEBUILD_S3_RESULT_PATH:存储构建ID的S3路径(用于自定义流水线)WAIT_FOR_CODEBUILD:是否等待CodeBuild完成(默认true)CODEPIPELINE_S3_BUCKET:CodePipeline的源S3桶(触发Pipeline时必填)CODEPIPELINE_S3_ARCHIVE_KEY:CodePipeline的源S3键(触发Pipeline时必填)CODEBUILD_CHROOT:要打包的内部文件夹路径(默认./)CI_ENV_PATTERN:额外导出的环境变量前缀(用|分隔)CODEBUILD_ARTIFACTS_PACKAGING:CodeBuild产物打包方式(ZIP或NONE,默认ZIP)GITLAB_ARTIFACTS_DIR:GitLab runner提取产物的目录(默认.codebuild_artifacts)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务