jenkins_bash.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. set -e
  3. echo "===== 1. 准备构建目录 ====="
  4. BUILD_DIR="/home/docker/LongArticleTaskServer/prod"
  5. rm -rf ${BUILD_DIR:?}/*
  6. cp -r "$WORKSPACE"/. "$BUILD_DIR"/
  7. cd "$BUILD_DIR"
  8. echo "===== 2. 镜像信息(必须全小写) ====="
  9. REGISTRY="registry-vpc.cn-hangzhou.aliyuncs.com"
  10. NAMESPACE="stuuudy"
  11. IMAGE_NAME="longarticle-taskserver-prod"
  12. TAG="${BUILD_TIMESTAMP}"
  13. FULL_IMAGE="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${TAG}"
  14. echo "IMAGE => ${FULL_IMAGE}"
  15. echo "===== 3. 登录阿里云镜像仓库 ====="
  16. echo "Qingqu@2019" | docker login registry.cn-hangzhou.aliyuncs.com -u stuuudys --password-stdin
  17. echo "===== 4. 构建 Docker 镜像 ====="
  18. docker build \
  19. --progress=plain \
  20. -t ${FULL_IMAGE} \
  21. .
  22. echo "===== 5. 推送 Docker 镜像 ====="
  23. docker push ${FULL_IMAGE}
  24. echo "===== 6. 远程服务器部署 ====="
  25. REMOTE_HOST="192.168.142.66"
  26. REMOTE_USER="root"
  27. REMOTE_PASS="piaoquan@2025"
  28. sshpass -p "${REMOTE_PASS}" ssh -o StrictHostKeyChecking=no \
  29. ${REMOTE_USER}@${REMOTE_HOST} \
  30. "sh /home/server/sh/update_docker.sh ${TAG}"
  31. echo "===== ✅ 部署完成 ====="