Эх сурвалжийг харах

fix(jenkins): 修复 local 部署 docker run 续行被空 envFileArgs 截断

Co-authored-by: Cursor <cursoragent@cursor.com>
天空之城 15 цаг өмнө
parent
commit
edca932ec3
1 өөрчлөгдсөн 7 нэмэгдсэн , 13 устгасан
  1. 7 13
      Jenkinsfile

+ 7 - 13
Jenkinsfile

@@ -200,12 +200,10 @@ REMOTE_EOF
       steps {
         script {
           def dockerBin = (env.DEPLOY_MODE == 'ssh') ? 'sudo docker' : 'docker'
-          def envFileArgs = (env.DEPLOY_MODE == 'ssh') ? """
-  --env-file ${env.ENV_FILE_REMOTE} \\
-  -v ${env.ENV_FILE_REMOTE}:/app/.env.${env.APP_ENV}:ro \\""" : ''
-
-          def contractPortArgs = env.CONTRACT_HOST_PORT?.trim() ?
-            "-p ${env.CONTRACT_HOST_PORT}:${env.CONTRACT_PORT} \\" : ''
+          def sshEnvLines = (env.DEPLOY_MODE == 'ssh') ?
+            "  --env-file ${env.ENV_FILE_REMOTE} \\\n  -v ${env.ENV_FILE_REMOTE}:/app/.env.${env.APP_ENV}:ro \\\n" : ''
+          def contractPublishLine = env.CONTRACT_HOST_PORT?.trim() ?
+            "  -p ${env.CONTRACT_HOST_PORT}:${env.CONTRACT_PORT} \\\n" : ''
 
           def legacyCleanup = (env.APP_ENV == 'produ') ? """
 ${dockerBin} rm -f py_esign_produ py_gateway_produ py_contract_produ esign alien_gateway_py alien_contract_py \\
@@ -221,8 +219,7 @@ ${dockerBin} rm -f ${env.CONTAINER_NAME_STORE} ${env.CONTAINER_NAME_GATEWAY} ${e
 ${legacyCleanup}
 ${dockerBin} run -d --name ${env.CONTAINER_NAME_STORE} \\
   --network ${env.DOCKER_NET} \\
-${envFileArgs}
-  -e APP_ENV=${env.APP_ENV} \\
+${sshEnvLines}  -e APP_ENV=${env.APP_ENV} \\
   -e STORE_PORT=${env.STORE_PORT} \\
   -v ${env.LOG_ROOT}/store:/app/common/logs/alien_store \\
   --restart unless-stopped \\
@@ -230,9 +227,7 @@ ${envFileArgs}
 
 ${dockerBin} run -d --name ${env.CONTAINER_NAME_CONTRACT} \\
   --network ${env.DOCKER_NET} \\
-  ${contractPortArgs}
-${envFileArgs}
-  -e APP_ENV=${env.APP_ENV} \\
+${contractPublishLine}${sshEnvLines}  -e APP_ENV=${env.APP_ENV} \\
   -e CONTRACT_PORT=${env.CONTRACT_PORT} \\
   -v ${env.LOG_ROOT}/contract:/app/common/logs/alien_contract \\
   --restart unless-stopped \\
@@ -241,8 +236,7 @@ ${envFileArgs}
 ${dockerBin} run -d --name ${env.CONTAINER_NAME_GATEWAY} \\
   --network ${env.DOCKER_NET} \\
   -p ${env.GATEWAY_HOST_PORT}:${env.GATEWAY_PORT} \\
-${envFileArgs}
-  -e APP_ENV=${env.APP_ENV} \\
+${sshEnvLines}  -e APP_ENV=${env.APP_ENV} \\
   -e GATEWAY_PORT=${env.GATEWAY_PORT} \\
   -e STORE_BASE_URL=http://${env.CONTAINER_NAME_STORE}:${env.STORE_PORT} \\
   -e CONTRACT_BASE_URL=http://${env.CONTAINER_NAME_CONTRACT}:${env.CONTRACT_PORT} \\