You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过单个AWS CodePipeline对接两个Bitbucket仓库实现CICD?

单AWS CodePipeline对接Bitbucket双仓库实现前后端CICD方案

可行性说明

完全可行。AWS CodePipeline支持多源阶段配置,或通过单个源阶段配合CodeBuild拉取双仓库代码,结合分模块构建部署逻辑,就能实现单流水线处理前后端两个项目的需求。

实现方式与流程

方案一:配置多源阶段独立触发

  1. 在CodePipeline中添加两个独立的源阶段,分别对接Bitbucket前端、后端仓库:
    • 每个源阶段选择Bitbucket作为源提供商,配置对应仓库的分支、OAuth授权信息
    • 可设置触发条件:仅当对应仓库目标分支有代码提交时,触发该源阶段启动流水线
  2. 构建阶段设置并行任务:
    • 前端构建:关联专属CodeBuild项目,拉取前端源代码,执行打包、ECR镜像构建推送等操作
    • 后端构建:关联后端CodeBuild项目,完成代码编译、镜像构建推送
  3. 部署阶段:
    • 可选择并行部署到ECS Fargate的前后端服务,或按依赖顺序部署(如先后端再前端)
    • 每个部署动作对应ECS中各自服务的更新任务

方案二:单源阶段+CodeBuild拉取双仓库

  1. 配置单个源阶段对接其中一个仓库(如后端仓库),作为流水线触发源
  2. 在对应CodeBuild项目的buildspec.yml中添加脚本,拉取第二个仓库代码:
    # 从Secrets Manager读取Bitbucket访问令牌
    BB_TOKEN=$(aws secretsmanager get-secret-value --secret-id bitbucket-access-token --query SecretString --output text)
    # 拉取前端仓库代码到指定目录
    git clone https://x-token-auth:${BB_TOKEN}@bitbucket.org/[你的账号]/frontend-repo.git ./frontend
    
  3. 在同一个CodeBuild项目中依次执行前后端的构建、镜像推送操作
  4. 部署阶段同步更新ECS前后端服务

流程运作逻辑

  • 方案一:任意仓库提交代码时,对应源阶段触发流水线,后续并行完成前后端构建部署(或仅触发对应模块的流程,需额外配置阶段跳过规则)
  • 方案二:仅指定仓库提交时触发流水线,CodeBuild拉取双仓库代码后统一构建,再完成部署

关键注意事项

  • 权限配置:确保CodePipeline/CodeBuild拥有Bitbucket仓库读取权限、ECR镜像推送权限、ECS服务更新权限
  • 版本一致性:若前后端存在版本依赖,方案二中可通过指定拉取前端仓库的特定标签/分支确保版本匹配;方案一中可通过流水线执行ID关联前后端构建版本
  • 触发规则:方案一可通过源阶段的触发条件,实现仅对应仓库提交时触发对应模块的构建部署,避免无效全流程执行

内容的提问来源于stack exchange,提问作者Rehan Shakeel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:55:15