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

Bitbucket CI/CD非默认分支(release/QA)部署EC2配置问题

Bitbucket CI/CD配置(release/QA分支部署EC2)

一、配置文件存放问题

在master分支创建.bitbucket-pipelines.yml是可行的,但必须将该配置文件同步到release/QA分支。Bitbucket Pipelines触发分支流水线时,会读取该分支根目录下的配置文件,如果release/QA分支没有这个文件,流水线会无法启动。你可以通过合并master分支的配置到release/QA分支,或者直接在release/QA分支创建相同的配置文件。

二、release/QA分支的正确CI/CD配置

以下是修正并完善后的配置(适配Laravel项目部署需求):

image: php:7.2

pipelines:
  branches:
    release/QA:
      - step:
          name: 部署至EC2测试环境
          caches:
            - composer
          script:
            # 安装流水线所需工具(php镜像默认无ssh客户端)
            - apt-get update && apt-get install -y ssh-client
            # 配置SSH免密登录(需提前在Bitbucket仓库设置私钥)
            - mkdir -p ~/.ssh
            - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
            - chmod 600 ~/.ssh/id_rsa
            # 配置known_hosts,避免首次连接确认提示
            - ssh-keyscan -H ip-170-30-6-60 >> ~/.ssh/known_hosts
            # 安装Composer并处理Laravel依赖(可选,根据项目需求)
            - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
            - php composer-setup.php --install-dir=/usr/local/bin --filename=composer
            - composer install --no-dev --optimize-autoloader
            # Laravel项目优化(可选)
            - php artisan config:cache
            - php artisan route:cache
            # 执行EC2上的部署脚本
            - ssh root@ip-170-30-6-60 'bash -s' < execute.sh

关键配置说明

  1. 镜像与工具安装:php:7.2基于Debian系统,需用apt-get替代yum;必须安装ssh-client才能执行远程登录命令。
  2. SSH密钥配置:
    • 在Bitbucket仓库的「Settings > Pipelines > SSH keys」中,添加你的EC2私钥(对应EC2实例~/.ssh/authorized_keys中的公钥)。
    • 在「Settings > Pipelines > Environment variables」中创建SSH_PRIVATE_KEY变量,值为你的EC2私钥内容,勾选「Secured」保护密钥。
  3. Known_hosts处理:用ssh-keyscan获取EC2主机的公钥并写入本地known_hosts,避免流水线因首次连接需要人工确认而中断。
  4. 部署脚本修正:将原配置中的bash s改为bash -s,确保ssh能从标准输入读取execute.sh的内容并在EC2上执行。
  5. Laravel项目适配:添加Composer安装、依赖安装、项目优化步骤,确保部署的代码是可运行的测试版本。

三、额外注意事项

  • 确保EC2实例的安全组开放了Bitbucket Pipelines的IP段,否则流水线无法连接EC2。
  • execute.sh需放在项目根目录,脚本内容需包含EC2上的部署操作(如拉取代码、重启服务等)。

内容的提问来源于stack exchange,提问作者chethana weerasinghe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:55:23