我刚接触Bamboo,并正在尝试使用Bamboo和Docker实现以下流程:
- 开发人员提交代码到Bitbucket分支
- 构建计划检测到更改
- 然后在安装了Docker的专用AWS实例上启动Docker容器。在Docker容器中还启动了远程代理。我使用
atlassian/bamboo-java-agent:latest
Docker容器。 - 远程代理注册到Bamboo
- 其余的构建计划在容器中运行
- 当计划完成时,容器和代理将被移除
我设置了一个测试构建计划,在该计划中,我的第一个任务是启动Docker实例,如下所示:
sudo docker run -d --name "${bamboo.buildKey}_${bamboo.buildNumber}" \
-e HOME=/root/ -e BAMBOO_SERVER=http://x.x.x.x:8085/ \
-i -t atlassian/bamboo-java-agent:latest
第二个任务是获取源代码并部署。第三个任务是测试,第四个任务是关闭容器。
Bamboo 上还有其他代理在线,我的构建计划有时会使用那些代理而不是我作为构建计划一部分启动的 Docker 容器。
我能否实现上述操作?
希望以上内容都讲得很清楚。我对此确实很陌生,任何帮助都将不胜感激。