jenkins_bash.sh 1.1 KB

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