在使用 Gradle 驱动 Bamboo 服务器(版本 7.2.1)上的构建、测试和其他作业/阶段的上下文中,我配置了 env。变量GRADLE_USER_HOME
将下载的 Gradle 二进制文件保存到项目本地路径,以便与进一步的下游作业/阶段共享它。
但不幸的是,Bamboo 忽略了工件的“源”或location
文件夹。摘自我们的bamboo.yaml
:
Build Java application artifact:
tasks:
- script:
scripts:
- "export GRADLE_USER_HOME=${bamboo.build.working.directory}/GradleUserHome"
- ./gradlew --no-daemon assemble
- "echo GRADLE USER HOME content; ls -al $GRADLE_USER_HOME/; echo '---'" # DEBUG
artifacts:
- name: "Gradle Wrapper installation"
location: GradleUserHome
pattern: '**/*.*'
required: true
shared: true
该命令的调试输出echo
显示了预期的内容。
但是下一个下游作业显示,工件“Gradle Wrapper 安装”的内容是相对于项目的工作区安装的,但不是在子文件夹./GradleUserHome
中,如location
key 所示(就像提到location
的配置项被下游作业/阶段简单地忽略一样)。
任何想法如何解决这一问题?
谢谢
PS:下一个下游作业在其日志消息中显示如下:
Preparing artifact 'Gradle Wrapper installation' for use at /var/atlassian/bamboo-agent02-home/xml-data/build-dir/[...] (location: )
注意空 location
!