掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
你好,我是悟空。

成都創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站制作、成都網(wǎng)站建設(shè), 我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。
本文主要內(nèi)容如下:
圖片
最近需要修改一個(gè)很重要的項(xiàng)目源碼,但是這個(gè)源碼的代碼倉(cāng)庫(kù)權(quán)限又不能給我們,只給了一份拷貝的版本,為了能夠更好地對(duì)這份代碼進(jìn)行代碼版本管理,我決定在本地搭建一個(gè) Gitlab 倉(cāng)庫(kù),來(lái)和其他同事進(jìn)行協(xié)同開(kāi)發(fā)。
1、本地部署一臺(tái) Ubuntu 虛擬機(jī)
2、Ubuntu Docker 環(huán)境
3、能否訪問(wèn) docker hub 網(wǎng)絡(luò)(如果不能訪問(wèn),用離線方式安裝 Gitlab 也可以)
(如果你不喜歡用 docker compose 方式,也可以直接用 docker run 的方式啟動(dòng) Gitlab 容器。)
docker pull gitlab/gitlab-ee:latest創(chuàng)建一個(gè) docker-compose.yml 文件:
vim docker-compose.yml內(nèi)容如下:
version: '3.3'
services:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
ports:
- '8000:80'
- '8443:443'
- '2222:22'
volumes:
- '/home/wukong/gitlab/config:/etc/gitlab'
- '/home/wukong/gitlab/logs:/var/log/gitlab'
- '/home/wukong/gitlab/data:/var/opt/gitlab'
shm_size: '256m'配置說(shuō)明:
還需要在 Ubuntu 上創(chuàng)建一些文件夾:
在文件 docker-compose.yml 的所在的目錄下執(zhí)行以下命令啟動(dòng) Gitlab 容器并查看容器狀態(tài):
docker-compose up -d
docker ps圖片
等幾分鐘后,容器狀態(tài)會(huì)從 starting 狀態(tài)變?yōu)?nbsp;healthy 狀態(tài)。
更多配置和部署方式詳見(jiàn)官網(wǎng)文檔:
https://docs.gitlab.com/ee/install/docker.html可以通過(guò) Ubuntu 虛擬機(jī)的 IP 的方式來(lái)訪問(wèn) Gitlab 網(wǎng)站,也可以通過(guò)域名的方式來(lái)訪問(wèn)Gitlab 網(wǎng)站。
用瀏覽器打開(kāi) Gitlab 網(wǎng)站打開(kāi)后如下所示:
圖片
瀏覽器直接打開(kāi)如下地址:
https://<虛擬機(jī) IP 地址>:8443/host 配置:
<虛擬機(jī) IP 地址> gitlab.example.com瀏覽器打開(kāi)如下地址:
https://gitlab.example.com:8443/打開(kāi) Gitlab 網(wǎng)站后,就會(huì)讓你登錄,即使你選擇注冊(cè),也需要等管理員審批通過(guò)才能登錄。所以我們首先得用管理員賬號(hào)登錄,但是我們是不知道賬號(hào)密碼的,所以需要先修改管理員的密碼。
sudo docker pssudo docker exec -it <容器 ID> /bin/bashcd /opt/gitlab/bingitlab-rails console圖片
u=User.where(id:1).first因?yàn)?root 用戶的 id 是默認(rèn)用戶,所以 id 為 1。
圖片
u.password='passjava'u.password\_cnotallow='passjava'圖片
輸入u.save,然后回車(chē),等到輸出 true,這時(shí),密碼修改成功。
u.save圖片
密碼修改成功后,退出容器,然后回到登錄頁(yè)面,輸入用戶名和密碼即可登錄管理員賬號(hào)。用戶名:root,密碼:passjava。
在注冊(cè)頁(yè)面填寫(xiě)用戶信息,注冊(cè)成功后需要等待管理員審批。
圖片
管理員審批界面
圖片
圖片
圖片
添加用戶到這個(gè)倉(cāng)庫(kù)里面。
https://gitlab.example.com:8443/test-group/passjava/-/project_members圖片
用戶登錄成功后,可以看到自己的 passjava 項(xiàng)目,不過(guò)還需要添加 SSH Key 才能 push 或 pull 項(xiàng)目。
圖片
如果本地沒(méi)有 SSH key,則可以參考下面這個(gè)鏈接生成 SSH Key。
https://gitlab.example.com:8443/help/ssh/index#generate-an-ssh-key-pairclone 倉(cāng)庫(kù)到本地
git clone https://gitlab.example.com:8443/test-group/passjava.git
或
git clone https://192.168.56.12:8443/test-group/passjava.git提示輸入密碼,輸入用戶名和密碼:
圖片
圖片
圖片
docker pull gitlab/gitlab-ee:latest打包測(cè)試環(huán)境的 gitlab鏡像,這個(gè)命令會(huì)將服務(wù)器上 gitlab 鏡像打包成 tar 包,這樣我們就方便拷貝到其他服務(wù)器上了。執(zhí)行打包鏡像命令:
sudo docker save -o gitlab-ee.tar gitlab/gitlab-ee:latest因?yàn)楸4娴?tar 包權(quán)限不夠,所以設(shè)置下權(quán)限為 777。執(zhí)行修改權(quán)限的的命:
sudo chmod 777 gitlab-ee.tar將這個(gè) tar 包拷貝新環(huán)境的三臺(tái)服務(wù)器上。執(zhí)行導(dǎo)入鏡像的命令:
sudo docker load -i gitlab-ee.tar然后按照第三章的 3.1.2 和 3.1.3 內(nèi)容啟動(dòng)容器。
InfoQ 簽約作者、藍(lán)橋簽約作者、阿里云專(zhuān)家博主、 紅人。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流