gitlab 安装
使用 docker 安装 gitlab
1:docker pull gitlab/gitlab-ce
2:docker run -d -p 4438:443 -p 8088:80 -p 2228:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
3:/var/opt/gitlab/gitlab-rails/etc/gitlab.yml 在容器里修改文件 host
4:gitlab-ctl restart 重启
在宿主机安装 gitlab-runner 用 docker 安装踩了很多坑,因为内网物理服务器限制无法本地访问
ssh 免密登录
// 切换到 gitlab-runner
su gitlab-runner
// 生成公私钥
ssh-keygen
// 本地主机的公钥复制到远程主机的 authorized_keys 文件上,ssh-copy-id -i /home/gitlab-runner/.ssh/id_rsa.pub root@172.17.0.1 (172.17.0.1 宿主机 ip,docker 网络 ip;ip addr)
laravel 项目自动构建 yml 文件
stages:
- develop
develop:
stage: develop
cache:
paths:
- vendor/
tags:
- develop
script:
- composer install
- cp .env.example .env
- php artisan key:generate
- php artisan migrate
- rsync -arvp -e "ssh" --rsync-path="sudo rsync" --delete-before . root@172.17.0.1:/xxx/xxxx/blog/
- ssh root@172.17.0.1 "cd /xxx/xxx/blog && php artisan config:cache && supervisorctl restart all"
only:
- develop
- php artisan config:cache // 这个命令要放到代码同步后,否则会缓存配置文件,导致路径不一致
- supervisorctl restart all 如果有队列任务是用 supervis 来管理,需要重启