Bamboo 分离式 docker 无法执行下一个任务

问题描述 投票:0回答:1

我尝试在 Bamboo 中运行我的 Matlab docker 映像来执行某些模拟,但在 Matlab docker 任务完成后我陷入困境,因为该 docker 映像似乎无法用于我的 Bamboo 计划中的后续任务。

目前我已经配置了Docker运行任务如下

我看到它加载了 MAtlab docker 映像并且能够运行它,但之后它关闭了它,因此它不可用于我计划中尝试发出以下命令的下一个任务

'matlab myFolder -batch mainCI'

我还使用以下命令进行了测试,结果与下面的日志相同

'matlab${bamboo.buildNumber} -sd myFolder'

运行 Matlab docker 后我的任务如下所示

这是我可以分享的日志

26-Mar-2024 08:58:35    Starting task 'Matlab Docker run' of type 'com.atlassian.bamboo.plugins.bamboo-docker-plugin:task.docker.cli'
26-Mar-2024 08:58:35    Running image name (myLocalUrl/matlab:r2023aWithReport)
26-Mar-2024 08:58:35    
Beginning to execute external process for build ' testing - Main test #107 '
 ... running command line: 
/usr/bin/docker run --volume /home/bamboo/bamboo-agent-home/xml-data/build-dir/myDir:/myFolder --workdir /myFolder --detach --name matlab107 myLocalUrl/matlab:r2023aWithReport
 ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/myDir
26-Mar-2024 08:58:35    45dee212b16c467003ef482985bfe07d8b67d80b6fef00cdc1222d123e9c24cc
26-Mar-2024 08:58:36    Finished task 'Matlab Docker run' with result: Success
26-Mar-2024 08:58:36    Starting task 'Script' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script'
26-Mar-2024 08:58:36    
Beginning to execute external process for build ' testing - Main test #107 (myDir-107)'
 ... running command line: 
/home/bamboo/bamboo-agent-home/temp/myDir-107-ScriptBuildTask-356509690805256537.sh -batch mainCI
 ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/myDir/myFolder
26-Mar-2024 08:58:36    /home/bamboo/bamboo-agent-home/temp/myDir-107-ScriptBuildTask-356509690805256537.sh: 1: matlab -sd myFolder -batch mainCI: not found
26-Mar-2024 08:58:36    Failing task since return code of [/home/bamboo/bamboo-agent-home/temp/myDir-107-ScriptBuildTask-356509690805256537.sh -batch mainCI] was 127 while expected 0

我一直在阅读这个Bamboo Ticket和这个如何避免构建完成后删除Docker容器,但我还没有设法让它工作......

我还能做些什么来使 Matlab 泊坞窗可用于下一个任务吗?

提前致谢!

docker matlab bamboo
1个回答
0
投票

将作业设置为在 docker 中运行,而不是在代理中运行;

然后容器对于作业中的所有任务都保持活动状态。一些警告;

  1. Docker在bamboo中以root身份运行,因此创建的文件可能会导致清理问题。您可以在这里找到解决方法; https://confluence.atlassian.com/bamboo0903/configuring-the-docker-task-in-bamboo-1236445454.html“在 Docker 容器中创建的文件的权限被拒绝”部分。
  2. Bamboo 不管理 docker 实例。每次构建代理拉取 docker 映像时,构建完成后该映像都会保留在代理存储中。我们只是为每个代理设置了一个每周运行的清晰存储作业,但您也可以添加一个任务来执行此操作。
© www.soinside.com 2019 - 2024. All rights reserved.