docker上快速搭建gitlab、gitlab-runer及實(shí)現(xiàn)CI/CD功能
docker基本配置及命令不熟的,看我這篇
http://www.dhdzp.com/article/206760.htm
1.docker上安裝gitlab
參考:http://www.dhdzp.com/article/244867.htm
1.1 拉取鏡像
docker search gitlab docker pull docker.io/gitlab/gitlab-ce
1.2 啟動(dòng)gitlab服務(wù)
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /mydata/gitlab/etc:/etc/gitlab -v /mydata/gitlab/log:/var/log/gitlab -v /mydata/gitlab/data:/var/opt/gitlab --privileged=true 46cd6954564a
對(duì)該條指令解釋一下
docker run -d #后臺(tái)運(yùn)行,全稱:detach -p 8443:443 #將容器內(nèi)部端口向外映射 -p 8090:80 #將容器內(nèi)80端口映射至宿主機(jī)8090端口,這是訪問gitlab的端口 -p 8022:22 #將容器內(nèi)22端口映射至宿主機(jī)8022端口,這是訪問ssh的端口 --restart always #容器自啟動(dòng) --name gitlab #設(shè)置容器名稱為gitlab -v /mydata/gitlab/etc:/etc/gitlab #將容器/etc/gitlab目錄掛載到宿主機(jī)/mydata/gitlab/etc目錄下,若宿主機(jī)內(nèi)此目錄不存在將會(huì)自動(dòng)創(chuàng)建 -v /mydata/gitlab/log:/var/log/gitlab #與上面一樣 -v /mydata/gitlab/data:/var/opt/gitlab #與上面一樣 --privileged=true #特權(quán)指令,讓容器獲取宿主機(jī)root權(quán)限 46cd6954564a #鏡像的ID,也可寫鏡像名稱
訪問出現(xiàn)如下界面,如果是502,等一會(huì)

1.3 配置root賬號(hào)密碼
進(jìn)入容器
docker exec -it gitlab bash
獲取密碼
grep 'Password:' /etc/gitlab/initial_root_password

賬號(hào)是root,密碼根據(jù)自己查出來的,然后登錄修改密碼

2.docker上安裝gitlab runner
拉取鏡像
docker pull gitlab/gitlab-runner:latest
啟動(dòng)容器
docker run -d --name gitlab-runner \ --restart always \ --privileged=true \ -v /mydata/gitlab-runner/config:/etc/gitlab-runner \ -v /mydata/gitlab-runner/docker.sock:/var/run/docker.sock \ 77a7b2f30dd5
進(jìn)入runner容器,注冊(cè)到gitlab上
# 進(jìn)入容器 docker exec -it gitlab-runner /bin/bash # 運(yùn)行以下注冊(cè)命令 gitlab-runner register # 輸入Gitlab實(shí)例的地址 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com ) http://192.168.56.10:8090 # 端口采用默認(rèn)的80,否則需要加上端口,比如 http://192.168.0.253:81 # 輸入token Please enter the gitlab-ci token for this runner tyXBwC8frbShS4yn3nE5 # 輸入Runner的描述 Please enter the gitlab-ci description for this runner [hostname] my-runner # 輸入與Runner關(guān)聯(lián)的標(biāo)簽 Please enter the gitlab-ci tags for this runner (comma separated): my-tag # 輸入Ruuner的執(zhí)行者 Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: docker # 如果上面執(zhí)行者為docker,需要你在后續(xù)項(xiàng)目根部的.gitlab-ci.yml中指定docker版本 Please enter the Docker image (eg. ruby:2.1): alpine:latest
此處獲取token

通過以上命令后,就可以在gitlab中查看到了這個(gè)剛剛創(chuàng)建的runner

runner注冊(cè)完畢之后,還需要修改一下runner的配置文件,實(shí)現(xiàn)runner與宿主機(jī)的數(shù)據(jù)掛載:
vi /mydata/gitlab-runner/config/config.toml #打開你之前配置的掛載地址

原先是volumes = ["/cache"]
上面的volumes數(shù)組中添加docker的掛載和gradle本地倉庫的掛載,加快項(xiàng)目的構(gòu)建速度。
volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock","/usr/local/repos/gradle:/usr/local/repos/gradle"]
最后重啟該容器
docker restart gitlab-runner
到此這篇關(guān)于docker上快速搭建gitlab、gitlab-runer及實(shí)現(xiàn)CI/CD的文章就介紹到這了,更多相關(guān)docker搭建gitlab實(shí)現(xiàn)CI/CD內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決啟動(dòng)docker desktop報(bào)The network name ca
在使用Docker Desktop時(shí),可能遇到"The network name cannot be found"的錯(cuò)誤,解決這個(gè)問題的方法是打開管理員權(quán)限的終端,執(zhí)行重啟Docker Desktop的相關(guān)命令,如果遇到虛擬化未開啟的提示,需要執(zhí)行“bcdedit /set hypervisorlaunchtype auto”2024-10-10
Dockerfile指令與基本結(jié)構(gòu)的講解
今天小編就為大家分享一篇關(guān)于Dockerfile指令與基本結(jié)構(gòu)的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
docker部署SpringCloud微服務(wù)項(xiàng)目方式
這篇文章主要介紹了docker部署SpringCloud微服務(wù)項(xiàng)目方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
解決Docker安裝錯(cuò)誤failure:repodata/repomd.xml from docke
在使用yum命令安裝docker或其他工具時(shí)可能會(huì)遇到failure_repodata_repomd.xmlfromdocker-ce-stable_[Errno256]Nomoremirrorstotry的錯(cuò)誤,原因可能是yum源配置問題,解決方法包括重置yum源,刪除多余的repo文件2024-11-11

