运维部署

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

2025-03-30 | GitLab Runner + SSH
原有痛点 - 每次更新代码需手动上传文件到服务器 - 需要手动执行数据库迁移脚本 - 重启服务可能导致短暂不可用 - 部署过程耗时1小时以上 - 容易出现人为错误 流水线配置
  • 安装GitLab Runner:
  • ```bash

    在服务器上安装GitLab Runner

    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash apt-get install gitlab-runner
  • 注册Runner:
  • bash gitlab-runner register \ --url https://gitlab.com/ \ --registration-token YOUR_REGISTRATION_TOKEN \ --executor shell \ --description "my-server-runner"
  • 配置.gitlab-ci.yml:
  • yaml 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 ``` 改进后的流程
  • 开发人员提交代码到main分支
  • GitLab自动触发CI/CD流水线
  • Runner执行部署脚本
  • 部署完成后自动通知开发团队
  • 效果 - 代码提交后自动触发部署,平均上线时间缩短至10分钟 - 部署成功率从82%提升至99% - 开发人员节省约30%的时间 - 服务中断时间从平均5分钟缩短至30秒 注意事项
  • Runner用户权限配置要谨慎,避免安全风险
  • 使用环境变量管理敏感信息
  • 配置部署前测试,确保代码质量
  • 实现回滚机制,应对部署失败情况
  • 分享至:

    相关学习推荐

    运维部署

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

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

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

    2024-11-28
    查看详情