docker 安裝gitlab以及使用
一、安裝及配置
1.gitlab鏡像拉取
# gitlab-ce為穩定版本,后面不填寫版本則默認pull最新latest版本 $ docker pull gitlab/gitlab-ce

2.運行gitlab鏡像
$ docker run -d -p 443:443 -p 80:80 -p 222: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 # -d:后台運行 # -p:將容器內部端口向外映射 # --name:命名容器名稱 # -v:將容器內數據文件夾或者日志、配置等文件夾掛載到宿主機指定目錄
運行成功后出現一串字符串

3.配置
按上面的方式,gitlab容器運行沒問題,但在gitlab上創建項目的時候,生成項目的URL訪問地址是按容器的hostname來生成的,也就是容器的id。作為gitlab服務器,我們需要一個固定的URL訪問地址,於是需要配置gitlab.rb(宿主機路徑:/home/gitlab/config/gitlab.rb)。
# gitlab.rb文件內容默認全是注釋 $ vim /home/gitlab/config/gitlab.rb
# 配置http協議所使用的訪問地址,不加端口號默認為80 external_url 'http://192.168.199.231' # 配置ssh協議所使用的訪問地址和端口 gitlab_rails['gitlab_ssh_host'] = '192.168.199.231' gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run時22端口映射的222端口 :wq #保存配置文件並退出

# 重啟gitlab容器 $ docker restart gitlab
此時項目的倉庫地址就變了。如果ssh端口地址不是默認的22,就會加上ssh:// 協議頭
打開瀏覽器輸入ip地址(因為我的gitlab端口為80,所以瀏覽器url不用輸入端口號,如果端口號不是80,則打開為:ip:端口號)
4.創建一個項目
第一次進入要輸入新的root用戶密碼,設置好之后確定就行

下面我們就可以新建一個項目了,點擊Create a project

創建完成后:

二、用戶使用
1.下載git.exe
雙擊git.exe安裝git(一直點下一步,直到完成)
點擊電腦桌面空白地方右鍵看到如下兩行即安裝成功

2.登錄gitlab網頁
url:http://192.168.1.111
填寫賬號密碼登錄

3.設置ssh
1.打開本地git bash,使用如下命令生成ssh公鑰和私鑰對
$ ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路回車(-C 參數是你的郵箱地址)

2.然后輸入命令:
# ~表示用戶目錄,比如我的windows就是C:\Users\Administrator,並復制其中的內容 $ cat ~/.ssh/id_rsa.pub

3.打開gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,並把上一步中復制的內容粘貼到Key所對應的文本框


4.從gitlab克隆代碼
1.回到gitlab頁面點擊projects->your projects

2.選擇一個需要克隆的項目,進入

3.點擊按鈕復制地址

4.新建一個文件夾,我在這里在我的電腦D盤下新建project文件夾

5.進入projects文件夾右鍵選擇->Git Bash Here

6.設置用戶名和郵箱
$ git config --global user.name "你的名字" $ git config --global user.email "你的郵箱"

7.克隆項目
$ git clone 項目地址

8.查看projects文件夾,項目已經克隆下來了

5.提交代碼到gitlab
1.基於以上步驟,在克隆的項目文件夾下新增一個測試文件

2.查看同步狀態
在項目文件夾下右鍵點擊->Git Bash Here

輸入
$ git status

可以看到紅色部分有需要提交的文件
3.提交代碼
輸入
$ git add 測試提交的文件.txt
(“git add“后加“.”則添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )

然后輸入以下命令提交並添加提交信息
$ git commit -m "message"

最后輸出以下命令提交到gitlab
$ git push origin master

提交完成啦
再回到gitlab上看該項目就可以看到多了一個txt測試文件