我是一个新手,我正在尝试使用竹子和Docker来获得以下的流程:
atlassian/bamboo-java-agent:latest
中运行,当计划完成时,代理将被删除
我设置了一个测试构建计划,在该计划中,我的第一个任务是启动一个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
第二个任务是获取源代码并进行部署。第三个任务是测试,第四个任务是关闭容器。
竹子上还有其他在线的代理,我的构建计划有时会使用这些代理,而不是我作为构建计划的一部分启动的Docker容器。
有没有办法让我做到这一点?
我希望这一切都有意义。我是真正的新手,任何帮助都将不胜感激。
发布于 2017-03-22 18:42:10
我们(Atlassian Build Engineering)已经创建了一组插件,用于在集群(ECS)中运行基于Docker的代理,该集群在线,构建单个作业,然后退出。我们最近开源了这个解决方案。
有关更多详细信息,请参阅https://bitbucket.org/atlassian/per-build-container。
发布于 2016-03-18 17:54:14
首先,您需要确保“主”docker容器在运行时没有退出。
检查:
docker ps -a
您应该会看到它正在运行
现在,假设它正在运行,您可以在容器内执行命令
进入容器
docker exec -it containerName bash
从容器外部执行容器内的命令
docker exec -it containerName commandToExecuteInsideTheContainer
您可以作为容器dockerfile的一部分,在其中复制一个执行某些操作的脚本。
然后,您可以使用上面的方法从容器外部执行该脚本。
希望这能给我们一些启发。
https://stackoverflow.com/questions/28088351
复制相似问题