运维部署

GitLab CI/CD自动化部署实验:从手动到10分钟上线

2025-03-30 | GitLab Runner + SSH
原有痛点 - 每次更新代码需手动上传文件到服务器 - 需要手动执行数据库迁移脚本 - 重启服务可能导致短暂不可用 - 部署过程耗时1小时以上 - 容易出现人为错误 流水线配置
  1. 安装GitLab Runner:
# 在服务器上安装GitLab Runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
apt-get install gitlab-runner
  1. 注册Runner:
gitlab-runner register \
  --url https://gitlab.com/ \
  --registration-token YOUR_REGISTRATION_TOKEN \
  --executor shell \
  --description "my-server-runner"
  1. 配置.gitlab-ci.yml:
stages:
  - deploy

deploy:
  stage: deploy
  script:
    - echo "开始部署..."
    - git pull origin main
    - composer install --no-dev
    - php artisan migrate --force
    - php artisan cache:clear
    - systemctl restart php-fpm
  only:
    - main
改进后的流程
  1. 开发人员提交代码到main分支
  2. GitLab自动触发CI/CD流水线
  3. Runner执行部署脚本
  4. 部署完成后自动通知开发团队
效果 - 代码提交后自动触发部署,平均上线时间缩短至10分钟 - 部署成功率从82%提升至99% - 开发人员节省约30%的时间 - 服务中断时间从平均5分钟缩短至30秒 注意事项
  1. Runner用户权限配置要谨慎,避免安全风险
  2. 使用环境变量管理敏感信息
  3. 配置部署前测试,确保代码质量
  4. 实现回滚机制,应对部署失败情况
分享至:

相关学习推荐

运维部署

免费SSL证书部署实验:从HTTP到HTTPS的完整流程

2025-02-20
查看详情
运维部署

PHP日志系统实验:从零散记录到集中分析

2024-11-28
查看详情