基本上,我试图从文件中将属性传递给shell。
我有一个文件"docker_info“,它的工作空间中有以下内容
IMAGE_NAME='Docker-image'
IMAGE_VERIONS='Docker-1.3.5'下面是我的管道脚本:
node
{
load "${WORKSPACE}/docker_info"
sh " echo ${IMAGE_NAME}" // here getting expected output: Docker-image
stage('Executing SHELL SCRIPING TO CHECK DOCKER IMAGE')
sh '''
echo "$DOCKER_IMAGE"
if [ -z "${IMAGE_NAME}" ] //(also tried "$IMAGE_NAME")
then
echo "Docker image not found."
exit 0
fi
echo "${IMAGE_NAME}:started pushing image"
'''
}输出:
[Test_BUILD_PIPELINE] Running shell script
+ echo Docker-image
Docker-image
**Entering stage Executing SHELL SCRIPTING TO CHECK DOCKER IMAGE**
Proceeding
[Pipeline] sh
[Test_BUILD_PIPELINE] Running shell script
+ echo ''
+ '[' -z '' ']'
+ echo 'Docker image not found. Skip pushing Docker image'
Docker image not found. Skip pushing Docker image
+ exit 0请注意,进入阶段后,我将不会看到期望值(Docker-image),而是显示: echo‘’。
我试过几种方法,但都没有用。
发布于 2017-12-04 11:00:48
试一试
sh """
echo '$DOCKER_IMAGE'
if [ -z '$IMAGE_NAME' ]
then
echo 'Docker image not found.'
exit 0
fi
echo '$IMAGE_NAME:started pushing image'
"""发布于 2017-12-04 12:23:41
什‘’
。/path/to/the/docker_info
如果-z "$IMAGE_NAME“
然后
回声“找不到码头形象”
出口0
fi
回波"$IMAGE_NAME:started推送图像“
“”“
https://stackoverflow.com/questions/47622890
复制相似问题