运维部署
GitLab CI/CD自动化部署实验:从手动到10分钟上线
原有痛点
- 每次更新代码需手动上传文件到服务器
- 需要手动执行数据库迁移脚本
- 重启服务可能导致短暂不可用
- 部署过程耗时1小时以上
- 容易出现人为错误
流水线配置
安装GitLab Runner:
```bash
注册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用户权限配置要谨慎,避免安全风险
使用环境变量管理敏感信息
配置部署前测试,确保代码质量
实现回滚机制,应对部署失败情况
在服务器上安装GitLab Runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash apt-get install gitlab-runner
分享至: