我创建了一个工具链,它从bitbucket存储库下载代码,并在IBM中构建码头映像。
在代码构建映像之后,生成阶段在构建工件时失败。
Error:
Preparing the build artifacts...
Customer script does not exist for the job, exitting我已经将构建存档目录指定为文件夹名。我是否需要编写任何存档脚本?
发布于 2018-04-09 15:11:38
当我们的一项检查-- /home/pipeline/$TASK_ID/_customer_script.sh的存在--失败时,就会发生这个特别的错误。
归档是自动进行的,但是当我们使用它作为工件创建的可跟踪性的一部分时,该文件需要显示出来。文件有可能被删除了吗?(还将研究删除或使检查非致命,但这将需要时间)
发布于 2018-05-19 01:01:57
此问题似乎是由于设置作业的工作目录引起的。_customer_script.sh被放到工作目录中,但是Simon所引用的脚本(/opt/IBM/pipeline/bin/ids-buildables-notify.sh)只检查代码输入所在的顶级目录(/home/pipeline/$TASK_ID/)。
假设您正在执行容器注册工作,可以有三个选项来修复这个问题:
cp _customer_script.sh /home/pipeline/$TASK_ID。ids-buildables-notify.sh脚本为您的bx cr build调用做了一些准备工作,所以确保它还在那里。touch /home/pipeline/$TASK_ID/_customer_script.sh和export PIPELINE_IMAGE_URL=<your image url>.如果设置了PIPELINE_IMAGE_URL,通知脚本就不会费心聪明了,我更喜欢这样做。一个适合我的剧本:
#!/bin/bash
echo -e "Build environment variables:"
echo "REGISTRY_URL=${REGISTRY_URL}"
echo "REGISTRY_NAMESPACE=${REGISTRY_NAMESPACE}"
echo "IMAGE_NAME=${IMAGE_NAME}"
echo "BUILD_NUMBER=${BUILD_NUMBER}"
echo -e "Building container image"
set -x
export PIPELINE_IMAGE_URL=$REGISTRY_URL/$REGISTRY_NAMESPACE/$IMAGE_NAME:$BUILD_NUMBER
bx cr build -t $PIPELINE_IMAGE_URL .
set +x
touch /home/pipeline/$TASK_ID/_customer_script.sh
https://stackoverflow.com/questions/49672431
复制相似问题