【发布时间】:2020-01-23 22:57:22
【问题描述】:
我目前对在 Atlassian Bamboo 中设置 docker 构建步骤感到绝望。
对于初学者,我只想创建一个运行 hello-world 映像的构建配置,作为融合的证明。到目前为止,我失败了。
我已尝试按照https://confluence.atlassian.com/bamboo0609/using-bamboo/jobs-and-tasks/configuring-tasks/configuring-the-docker-task-in-bamboo 上的步骤进行操作,但无济于事。
我的设置是这样的:
我们在 Ubuntu 服务器上安装了 Bamboo。我还在该服务器上安装了 Docker 并将 bamboo 用户添加到 docker 用户组并重新启动服务器以确保权限更改生效。此时,docker run hello-world 在我直接在服务器上运行时可以正常工作。我还可以确认这是 Bamboo 运行的服务器,因为每当我重新启动安装 Docker 的服务器时,Bamboo 都会脱机。
然后,我在服务器上添加了 docker 能力(代理是默认代理,所以它从服务器继承了这个能力)。作为 docker 路径,我尝试了各种方法,但都没有奏效(也就是说,以下错误对于每一个都保持不变):
-
/snap/docker(我在手动搜索中找到的第一个文件夹) -
/usr/bin/docker(推荐路径,虽然在检查 Ubuntu 服务器时我很快发现在 Ubuntu derver 上的/usr/bin下不存在docker文件夹) -
/var/snap/docker/common/var-lib-docker(当我在 Ubuntu 服务器上运行docker info时 Docker 作为其根目录返回的路径) -
/var/snap/docker(为了更好的衡量标准)
现在,对于跑步者,我尝试了两种不同的方法。
首先,我尝试使用具有以下设置的 Docker 运行器: 命令: 运行 Docker 容器 Docker 镜像: hello-world
这将返回以下错误消息:
┊
Error occurred while running Task 'Hello World Docker Test(5)' of type com.atlassian.bamboo.plugins.bamboo-docker-plugin:task.docker.cli.com.atlassian.bamboo.task.TaskException: Failed to execute task
┊
Caused by: com.atlassian.bamboo.docker.DockerException: Error running Docker run command
┊
Caused by: com.atlassian.utils.process.ProcessException: Error executing /snap/docker run --volume /var/atlassian/application-data/bamboo/xml-data/build-dir/CAM-DOC-JOB1:/data --workdir /data --rm hello-world
┊
第二个只是为命令docker run hello-world运行shell runner,返回以下错误:
docker: not found
在这一点上,我觉得我没有想法。出于某种原因,一切都指向 Bamboo,尽管我可以清楚地确认它在那里,但在服务器上找不到 Docker。我尝试了各种不同的方法来告诉 Bamboo 在哪里可以找到 Docker,但都没有奏效。
很明显我做错了什么,但我不知道是什么。或者问题可能出在完全不同的方向上?无论如何,我将不胜感激就此事分享任何见解。
【问题讨论】:
-
竹代理是不是别的机器?您是否尝试过检查那里是否安装了 docker?