網(wǎng)上購物網(wǎng)站開發(fā)報價長沙網(wǎng)站推廣排名優(yōu)化
一、安裝GitLab:
在安裝了docker之后就是下載安裝GitLab了,在linux系統(tǒng)中輸入命令:docker search gitlab就可以看到很多項目,一般安裝第一個,它是英文版的,如果英文不好可以安裝twang2218/gitlab-ce-zh。
1、安裝項目
這里沒有選第一個,下載安裝中文版了,安裝時間比較長,需要耐心等待。
2.創(chuàng)建掛載目錄
mkdir -p /usr/local/gitlab/etc?
mkdir -p /usr/local/gitlab/log?
mkdir -p /usr/local/gitlab/data
3.修改目錄權限
chmod 777 /usr/local/gitlab/etc
chmod 777 /usr/local/gitlab/log
chmod 777 /usr/local/gitlab/data
4.啟動gitlab,執(zhí)行docker
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --name gitlab -v /www/gitlab/etc:/etc/gitlab -v /www/gitlab/log:/var/log/gitlab -v /www/gitlab/data:/var/opt/gitlab --privileged=true twang2218/gitlab-ce-zh
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 twang2218/gitlab-ce-zh
?
這個命令的意思如下:
docker run \
-d? ? ? ? ? ? ? ? #后臺運行,全稱:detach
-p 8443:443? ? ?#將容器的內(nèi)部端口8443映射到外部端口443上,外界會先訪問443端口到達指定位置,然后發(fā)現(xiàn)443映射的是docker里的8443端口,就會繼續(xù)訪問8443端口,然后根據(jù)設置做出對應的處理。
-p 8090:80? ? ? ?#將容器的內(nèi)部端口8090映射到外部端口80上,原理同上。
-p 8022:22? ? ? ?#將容器的內(nèi)部端口8022映射到外部端口22上,原理同上。
--restart always? ?#容器自啟動
--name gitlab? ? ? #設置容器的名稱為gitlab
-v /usr/local/gitlab/etc:/etc/gitlab? ? ?#將容器/etc/gitlab目錄掛載到宿主機/usr/local/gitlab/etc目錄下,若宿主機內(nèi)此目錄不存在將會自動創(chuàng)建,一般掛載到一個比較大的磁盤上,防止后面出現(xiàn)磁盤滿了的情況。
-v /usr/local/gitlab/log:/var/log/gitlab? ? #原理同上。
-v /usr/local/gitlab/data:/var/opt/gitlab? ? #原理同上。
--privileged=true? ? ? ? ? ? ?#讓容器獲取宿主機root權限
twang2218/gitlab-ce-zh? ? ? ? ?#鏡像的名稱,這里也可以寫鏡像的id。
5、查看gitlab是否已經(jīng)啟動,
如果后面跟上-a參數(shù),則會把沒啟動的容器也顯示出來。
docker ps -a
二、配置gitlab
1、首先進入容器,
里面的gitlab是容器的名稱,就是上圖里NAMES下面的那個信息。
docker exec -it gitlab bash
看到前面變成這樣就說明進到容器里了。
2、修改gitlab.rb文件:
//先進入到gitlab目錄
cd /etc/gitlab
//然后編輯gitlab.rb文件
vim gitlab.rb
執(zhí)行vim命令后效果是這樣:
3、修改gitlab.rb文件中的IP和端口號,修改external_url后面的值,這個值是IP地址或者域名,不用加端口號。
4、保存,在修改完畢后按一下esc鍵,然后輸入:qw后按回車鍵保存文件。
將一下內(nèi)容復制到gitlab.rb文件(注意修改成自己的ip),修改完成后 :wq 保存退出
external_url 'http://xx.xx.xx.xx'
gitlab_rails['gitlab_ssh_host'] = '192.168.XX.XX'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
?
external_url 'http://xx.xx.xx.xx'
gitlab_rails['gitlab_ssh_host'] = '192.168.XX.XX'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
3、配置gitlab.yml文件。
//文件路徑:/opt/gitlab/embedded/service/gitlab-rails/config
//先進入到config目錄下
cd /opt/gitlab/embedded/service/gitlab-rails/config
//打開編輯gitlab.yml文件
vim gitlab.yml
//修改host與上面.rb文件里的external_url一致。
//修改port為80,這里定義的端口號是80,說明通過80端口可以訪問到,在容器運行的時候使用了-p 8090:80進行端口映射
,就是將外部端口8090映射到docker容器的80端口上,外面通過8090端口訪問時就被轉(zhuǎn)到docker的80端口上了,這里定義的gitlab端口是80,就會被監(jiān)聽到,然后執(zhí)行對應的操作。
6、重啟docker中的gitlab,
因為此時已經(jīng)進入到docker的gitlab容器中了,所以可以執(zhí)行容器內(nèi)重啟服務命令:
gitlab-ctl restart
7、退出容器命令exit:
8、使用瀏覽器打開gitlab
,網(wǎng)址是gitlab.rb配置文件中定義的external_url的值,端口號是運行容器時-p后面定義的端口號,這里是:http://gitlab.wuniuai.com:8090,第一次訪問賬號和密碼都是root,會讓修改密碼,改好后就可以正常使用了
9、查看容器詳細信息
,可以查看gitlab的運行狀態(tài)、端口映射情況、文件掛載情況,等于是把執(zhí)行docker run時的所有信息都展示出來了:
docker inspect gitlab
從上方可以看到掛載了三個目錄,如果要轉(zhuǎn)移數(shù)據(jù)就需要把三個目錄都轉(zhuǎn)移到需要的位置,然后重新執(zhí)行docker run運行和設置這個容器,run里的名稱如果已經(jīng)存在則無法執(zhí)行,要么用新名稱,要么使用docker rm 容器名稱,把原來的容器刪掉。
二、常用命令:
1、容器外停止:
docker stop gitlab? ? //這里的gitlab是執(zhí)行docker run時--name后面設置的名字。
2、容器外重啟:
docker restart gitlab
3、進入容器內(nèi)部命令行:
docker exec -it gitlab bash
4、容器內(nèi)部命令行中應用配置
,讓修改后的配置生效:
gitlab-ctl reconfigure
5、容器內(nèi)部命令行中重啟應用:
gitlab-ctl restart
6、容器外查看正在運行的容器,返回的有ID和名稱,這兩個值都可以操作指定的容器:
docker ps
7、容器外查看所有容器,包含正在運行的和未運行的:
docker ps -a
8、容器外查看所有鏡像:
docker images
9、容器外刪除容器:
docker rm gitlab? ?//這里的gitlab是容器的名稱,用這個容器的id也可以,效果都一樣。
10、查看指定容器的日志記錄:
docker logs gitlab? ? //這里是查看gitlab的日志信息,會顯示日志文件中的所有內(nèi)容。
11、修改gitlab.rb配置文件
vi /etc/gitlab/gitlab.rb
把對應的修改的#去掉,然后修改如下
external_url 'http://127.0.0.1:8080' ? 需要和創(chuàng)建容器指定的端口號一致
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
gitlab_rails['gitlab_shell_ssh_port'] = 222
nginx['listen_port'] =8080 ??
12、進gitlab容器重啟配置服務
docker exec -it gitlab /bin/bash #進去gitlab容器的命令
gitlab-ctl reconfigure #重置gitlab客戶端的命令
? 等待一會兒完成后,exit退出即可;
13、重啟gitlab容器
$ docker restart gitlab
14、根據(jù)設置好的Ip地址或者域名訪問gitlab
http://ip:8080
進入以后會讓修改密碼,修改完成后登入即可;
15、運行項目創(chuàng)建項目
默認的登錄名是root
使用docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password ?可以查看root的默認密碼?
?16、進入系統(tǒng)后,點擊創(chuàng)建一個項目
所以在使用的時候需要加上 8881端口號 否則是訪問不到的 請求被拒絕
使用的時候是 http://192.168.66.71:8881/root/myweb.git
?17、使用Git拉去遠程項目需要綁定密鑰
點擊右上角頭像設置SSH密鑰,輸入id_rsa.pub的內(nèi)容,如下圖所示:
保存后的結果。
保存后的結果。
?18、拉取或者上傳項目之前
請先初始化本地git倉庫,創(chuàng)建一個文件夾,在指定的位置初始化本地git倉庫,便于規(guī)范性的操作??寺±∶钍÷?#xff1b;
git init
git clone ?ssh://git@192.168.66.71:8222/root/myweb.git
git clone http://192.168.66.71:8881/root/myweb.git
?
19、Gitlab中實現(xiàn)CI/CD,需要安裝gitlab-runner
docker pull gitlab/gitlab-runner:latest