gitlab安装,自动部署laravel项目

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 [email protected] (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 . [email protected]:/xxx/xxxx/blog/
    - ssh [email protected]  "cd /xxx/xxx/blog && php artisan config:cache && supervisorctl restart all"
  only:
    - develop
  • php artisan config:cache // 这个命令要放到代码同步后,否则会缓存配置文件,导致路径不一致
  • supervisorctl restart all 如果有队列任务是用supervis来管理,需要重启

你可能感兴趣的:(laravel,gitlab)