【CI/CD】docker部署gitlab,並且本地拉取gitlab代碼成功


下載gitlab鏡像

docker search gitlab

  

 

安裝截圖中圈出來的這個。

docker pull gitlab/gitlab-ce

  

 

 安裝成功后查看鏡像。

 PS:我使用上述鏡像啟動容器后,服務器內存一直在增大(本機只有2核4G),網上查了很多方案最終沒有解決。后來使用了1個個人提供的鏡像,進行后面的流程。

 

將鏡像啟動為容器

docker run -d \
-p 8443:443 \
-p 8084:80 \
--name gitlab \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

  

 

 

訪問gitlab

使用服務器的IP+端口,即可訪問gitlab。

 在上述登錄界面,輸入root賬號用戶名密碼,即可管理員登錄。

但我們一般重新注冊個自己的賬號,使用自己注冊的賬號進行使用。

 

新建群組/項目

使用自己注冊的賬號登錄后,新建群組

 

新建項目

  

 新建項目成功后,查看到其git地址為一串亂碼,用戶無法直接訪問使用。

  

解決git項目地址非IP問題

目前要解決git項目地址為亂碼,而非IP地址的問題。由於我們使用的docker部署,因此我們進入容器里面,修改/etc/gitlab/gitlab.rb

 external_url配置項增加IP地址和端口配置(這里的端口是80,即容器里面的地址,而不是宿主機外面的8084,因此external_url中的端口80也可以不寫)

 

 

  

 

 

 

 

 在容器里面重新加載配置

gitlab-ctl reconfigure

重啟服務

gitlab-ctl restarth 

好,修改完畢!

刷新頁面,重新進入gitlab中,觀察項目的git地址。可以看出,這個配置確實修改了項目的git地址。

 

 

 

 

 

 

 

 

 

 

個人PC生成密鑰並配置到git賬號

由於個人PC訪問gitlab如果不設置ssh密鑰的話,還要輸入用戶名密碼比較麻煩,因此需要先在個人PC上設置公鑰、私鑰,並將公鑰配置到用戶gitlab賬號的SSH密鑰中。

本地打開git bash,使用命令生成公鑰、私鑰。

 ssh-keygen -t rsa -C 'xxx@xxx.com'

然后一路回車(-C 參數是你的郵箱地址)

 

 

 然后打開公鑰,復制一下(公鑰的路徑在生成的時候有打印)

 

這里順便看下生成的文件和位置

將上述id_rsa.pub中的內容,復制到個人資料設置-SSH密鑰-增加密鑰中。 

 

 

 

 

拉取項目

1、在本地電腦新建1個文件夾,用於放后面拉取的項目

2、進入該文件夾,郵件Git Bash Here

3、設置用戶名、郵箱(你的git賬號注冊時的用戶名郵箱)

git config --global user.name "你的名字"
git config --global user.email "你的郵箱"

  

 

4、克隆項目

git clone 項目地址

  

但是此時我們拿這個地址去clone項目,並不會成功,還會觸發輸入密碼。

 

此時還需要進行一些設置

a、在/etc/gitlab/gitlab.rb中增加gitlab_ssh_host和gitlab_shell_ssh_port。注意這里的222,為宿主機的端口。對應

 PS:在上述使用222端口的過程中,本人還遇到了新問題。即一開始啟動鏡像時,我並沒有將22端口映射出去。這里參考了這篇文章完成了已啟動容器后,增加映射端口的操作。

https://blog.csdn.net/qq_41538097/article/details/107078157

 

 

 

b、使用命令重新加載gitlab配置及重啟gitlab-ctl reconfigure、gitlab-ctl restart。重啟后,再查看gitlab網站上項目地址的變化。

SSH地址已增加了剛剛配置的222端口。

 

 HTTP地址並沒有變化,因為沒有設置。

 

 c、確保服務器對外放開了222端口。

 

 d、重新使用最新的,帶上222端口的項目地址進行更新,更新成功。

 

復制成功,查看文件夾下也有項目上的內容。

 5、提交代碼到gitlab

上述調試后,從gitlab拉取已調通。下面我們進一步測試下,本地上傳到gitlab。

我們在本地新增1個文件夾、1個文件。

 在項目文件夾下右鍵點擊->Git Bash Here,輸入

git status

  

 標紅的為其識別需要提交的文件。

提交代碼,輸入。

git add test/gitpushtest.txt

  (“git add“后加“.”則添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )

  然后輸入以下命令提交並添加提交信息 

git commit -m "message"

  

  最后輸出以下命令提交到gitlab該項目的master分支 

git push origin master

 

  提交完成。去gitlab項目網站上查看,提交成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM