diff --git a/client-api/Jenkinsfile b/client-api/Jenkinsfile index 3c798c3..87b1851 100644 --- a/client-api/Jenkinsfile +++ b/client-api/Jenkinsfile @@ -73,15 +73,14 @@ pipeline { ' """ - // 检查/安装 docker-compose + // 检查 docker compose 插件(docker.io 自带 v2 插件) sh """ ${SSH_CMD} ' - if ! command -v docker-compose &> /dev/null; then - echo "docker-compose 未安装,开始安装..." - curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose + if docker compose version &> /dev/null; then + echo "docker compose 已可用" else - echo "docker-compose 已安装" + echo "安装 docker-compose-v2 插件..." + apt-get install -y docker-compose-v2 fi ' """ @@ -160,7 +159,7 @@ pipeline { echo "清理已存在的容器: ${CONTAINER_PREFIX}-${env.DEPLOY_TARGET}" sh "${SSH_CMD} 'docker rm -f ${CONTAINER_PREFIX}-${env.DEPLOY_TARGET}'" } - sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker-compose -f ${COMPOSE_FILE} build ${env.DEPLOY_TARGET}'" + sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker compose -f ${COMPOSE_FILE} build ${env.DEPLOY_TARGET}'" } } } @@ -168,7 +167,7 @@ pipeline { stage('启动新版本') { steps { script { - sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker-compose -f ${COMPOSE_FILE} up -d ${env.DEPLOY_TARGET}'" + sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker compose -f ${COMPOSE_FILE} up -d ${env.DEPLOY_TARGET}'" sh 'sleep 35' } } @@ -219,7 +218,7 @@ pipeline { def nginxExists = sh(script: "${SSH_CMD} 'docker ps -aq -f name=${CONTAINER_PREFIX}-nginx'", returnStdout: true).trim() if (!nginxExists) { echo "首次部署,初始化 Nginx 容器" - sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker-compose -f ${COMPOSE_FILE} up -d nginx'" + sh "${SSH_CMD} 'cd ${REMOTE_WORK_DIR} && docker compose -f ${COMPOSE_FILE} up -d nginx'" sh "sleep 3" sh "${SSH_CMD} 'docker cp ${REMOTE_WORK_DIR}/client-api/nginx.conf ${CONTAINER_PREFIX}-nginx:/etc/nginx/nginx.conf'" sh "${SSH_CMD} 'docker exec ${CONTAINER_PREFIX}-nginx nginx -s reload'"