環境
Centos7.2
Docker-CE
參考資料:
gitlab docker 官檔:https://docs.gitlab.com/omnibus/docker/
docker安裝gitlab
1.拉取最新gitlab ce鏡像(社區版,非企業版)
docker pull gitlab/gitlab-ce:latest
2.啟動gitlab容器
docker run -d \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://yourip:7458/'; gitlab_rails['gitlab_ssh_host'] = 'yourip'; gitlab_rails['gitlab_shell_ssh_port'] = 7457;" \
-p 7459:443 \
-p 7458:80 \
-p 7457:22 \
--name tzq_gitlab \
--restart always \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
--privileged=true \
--net=host \
gitlab/gitlab-ce
如果想使用https的話需要配置證書,Mannually configuring HTTPS, 上面gitlab的環境變量需要顯示加上 letsencrypt['enable'] = false;external_url 'https://yourip:7459/
4.登錄gitlab
瀏覽器輸入http://x.x.x.x:7458; 一開始需要創建密碼,然后默認用戶名為:root
docker安裝gitlab-runner
1.
docker run -d --name tzq_gitlab_runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ --net=host \ gitlab/gitlab-runner:latest
2.
docker exec -it tzq_gitlab_runner /bin/bash
3.
gitlab-runner register
然后輸入你上面搭建的gitlab地址:http://x.x.x.x:7458
4.獲取token
將token填入命令行窗口中,敲回車繼續
5.給runner取個名字,隨便取
6.再取個tag,逗號分隔,用於檢索的
7.再選擇一個gitlab-runner的執行者,我們是在docker上跑的
8.指明一個默認鏡像,隨便寫個hub.docker.com上存在的,后面我們
9.至此gitlab-runner就在容器中跑起來了
10.修改config.toml配置,掛載宿主機docker
打開/srv/gitlab-runner/config/config.toml文件,找到你對應的runner實例配置
找到並修改為:volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock"]
pull_policy = "if-not-present"
然后重啟runner,
docker restart gitlab-runner
11.如果你gitlab用了https並配了證書的話,runner也需要,請看:https://docs.gitlab.com/runner/install/docker.html#installing-trusted-ssl-server-certificates
gitlab-runner register --tls-ca-file /etc/gitlab-runner/certs/ca.crt
最后
gitlab會自動檢測到你配置的gitlab-runner