0
我寫了一個Jenkinsfile,並在一個步驟中卡住了,那基本上是部署階段。在部署階段,有一個步驟是必須將ssh放入一個服務器並運行幾條命令。早些時候它工作正常,但是當我用一些正則表達式添加sed命令時,Jenkins顯示語法錯誤。以下是摘錄。與sed命令Jenkinfile ssh問題
steps {
sshagent (credentials: []) {
sh '''
echo "Tag=miqp-server_${BUILD_NUMBER}" > sshenv
echo "target=${DeployTo}" >> sshenv
scp sshenv [email protected]:~/.ssh/environment
ssh -T -o StrictHostKeyChecking=no -l root SERVERIP <<'EOF'
#DEPLOYMENT_NAME="miqp-server-dep"
#CONTAINER_NAME="miqp-server-dev"
#NEW_DOCKER_IMAGE="2xxxxxxxxxx6.dkr.ecr.us-east-1.amazonaws.com/miqp-devops:${Tag}"
RELEASE_NAME=miqp-server-dep
if [ "${target}" = "None" ]
then
echo "No deployment to K8s"
else
cd /root/kubernetes-ingress/dev/miqp-server-dep/
sed -i "s/^\([[:space:]]*tag:[[:space:]]*\).*/\1$Tag/" values.yaml
helm upgrade -f values.yaml $RELEASE_NAME miqp-server-dep.0.1.0.tgz
#kubectl set image deployment/$DEPLOYMENT_NAME $CONTAINER_NAME=$NEW_DOCKER_IMAGE -n devops-dev
#kubectl rollout status deployment $DEPLOYMENT_NAME -n devops-dev
fi
EOF'''
和錯誤詹金斯投擲是
WorkflowScript: 156: unexpected char: '\' @ line 156, column 13.
sed -i "s/^\([[:space:]]*tag:[[:space:]]*\).*/\1$Tag/" values.yaml
^
1 error