运维部署
GitLab CI/CD自动化部署实验:从手动到10分钟上线
原有痛点
- 每次更新代码需手动上传文件到服务器
- 需要手动执行数据库迁移脚本
- 重启服务可能导致短暂不可用
- 部署过程耗时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
- 注册Runner:
gitlab-runner register \
--url https://gitlab.com/ \
--registration-token YOUR_REGISTRATION_TOKEN \
--executor shell \
--description "my-server-runner"
- 配置.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
- 开发人员提交代码到main分支
- GitLab自动触发CI/CD流水线
- Runner执行部署脚本
- 部署完成后自动通知开发团队
- Runner用户权限配置要谨慎,避免安全风险
- 使用环境变量管理敏感信息
- 配置部署前测试,确保代码质量
- 实现回滚机制,应对部署失败情况
分享至: