ci: switch sh to bat — Windows Jenkins has no sh in process PATH
docker and ssh are both natively available on Windows. Credential vars (%ACR_PASS%, %SSH_KEY%) use bat syntax; Groovy vars use GString. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
b13820032d
当前提交
5bd6d56436
11
Jenkinsfile
vendored
11
Jenkinsfile
vendored
@ -26,8 +26,8 @@ pipeline {
|
||||
withCredentials([string(credentialsId: 'ACR_PASSWORD', variable: 'ACR_PASS')]) {
|
||||
script {
|
||||
def imageName = "${ACR_REGISTRY}/${ACR_NAMESPACE}/${params.SERVICE}:${params.IMAGE_TAG}"
|
||||
sh """
|
||||
docker login ${ACR_REGISTRY} -u ${ACR_USERNAME} -p \${ACR_PASS}
|
||||
bat """
|
||||
docker login ${ACR_REGISTRY} -u ${ACR_USERNAME} -p %ACR_PASS%
|
||||
docker build --build-arg SERVICE_MODULE=${params.SERVICE} -t ${imageName} .
|
||||
docker push ${imageName}
|
||||
docker rmi ${imageName}
|
||||
@ -44,11 +44,8 @@ pipeline {
|
||||
script {
|
||||
def svcName = params.SERVICE.replace('-service', '')
|
||||
def imageName = "${ACR_REGISTRY}/${ACR_NAMESPACE}/${params.SERVICE}:${params.IMAGE_TAG}"
|
||||
sh """
|
||||
ssh -i \${SSH_KEY} -o StrictHostKeyChecking=no ${PROD_USER}@${PROD_HOST} \
|
||||
"docker pull ${imageName} && \
|
||||
docker compose -f ${COMPOSE_FILE} up -d --no-deps ${svcName} && \
|
||||
docker image prune -f"
|
||||
bat """
|
||||
ssh -i "%SSH_KEY%" -o StrictHostKeyChecking=no ${PROD_USER}@${PROD_HOST} "docker pull ${imageName} && docker compose -f ${COMPOSE_FILE} up -d --no-deps ${svcName} && docker image prune -f"
|
||||
"""
|
||||
}
|
||||
}
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户