Commit c3931ad2 by 罗启

Add new file

parent 19c2c47a
Pipeline #3144 failed in 0 seconds
# 定义工作流的各个阶段,我们这里只需要一个 "deploy" 阶段
stages:
- deploy
# 定义一个名为 "deploy_to_production" 的任务
deploy_to_production:
# 将这个任务归属到 "deploy" 阶段
stage: deploy
# 指定运行此任务的 Docker 镜像,我们用一个基础镜像
image: alpine:latest
# 在主脚本运行前执行的准备工作
before_script:
# 安装 ssh 客户端和 ssh-agent
- 'which ssh-agent || ( apk add --update --no-cache openssh-client )'
# 启动 ssh-agent
- eval $(ssh-agent -s)
# 将存储在 GitLab CI/CD 变量中的私钥添加到 ssh-agent
# $SSH_PRIVATE_KEY 是您需要在 GitLab 网页上设置的变量名
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
# 创建 .ssh 目录并设置权限
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
# (可选,但更安全)将服务器的公钥添加到 known_hosts,避免交互式提示
# $SSH_KNOWN_HOSTS 也是一个 CI/CD 变量
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
# 任务的核心执行脚本
script:
- echo "准备连接到部署服务器..."
# 使用 ssh 命令连接你的服务器
# $SSH_USER, $SSH_HOST, $SSH_PORT 都是您需要在 GitLab 设置的变量
- |
ssh -p $SSH_PORT $SSH_USER@$SSH_HOST "
echo '✅ 连接服务器成功,开始执行部署脚本...'
echo '进入项目目录: customer-recall'
cd customer-recall
echo '正在从 GitLab (origin) 拉取最新代码...'
git pull origin master
echo '正在使用 Docker Compose 部署...'
docker compose up -d --build
echo '🚀 部署流程执行完毕!'
"
# 定义触发此任务的规则
rules:
# 只有当代码被推送到 master 分支时,才执行这个任务
- if: '$CI_COMMIT_BRANCH == "master"'
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment