第三十九章 微服務CICD(1)- gitlab搭建與使用(docker版)


一、下載docker鏡像

前提:docker引擎已經安裝好。

  • docker pull gitlab/gitlab-ce

 gitlab是8.13.1版本。

二、啟動應用

  • docker run -d -h gitlab.zhaojigang.com -p 80:80 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce

說明:本次啟用是為了生成配置文件。

  • /etc/gitlab/:配置文件所在的目錄
  • /var/log/gitlab:日志所在目錄
  • /var/opt/gitlab:數據所在目錄

 

三、修改配置文件

vi /etc/gitlab/gitlab.rb

  • external_url 'http://gitlab.zhaojigang.com:8929'(將http端口設置為8929而不是默認的80)

 

四、指定端口啟動

  • docker run -d -h gitlab.zhaojigang.com -p 8929:8929 -p 2289:22 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce

說明:

  • -h gitlab.zhaojigang.com
    • hostname:以gitlab.zhaojigang.com作為域名訪問gitlab,需要在DNS中進行域名映射(或者在訪問機器/etc/hosts中配置域名映射)
  • -p 8929:8929
    • 8929:http端口
  • -p 2289:22
    • 22:ssh端口,ssh端口不要隨便替換,代價會比較大,這樣之后,發現clone是可以的,但是push不行

注意:如果有ipv4無法forward的問題,先使用:

  • sysctl -w net.ipv4.ip_forward=1 

 

五、瀏覽器訪問(直接使用ip不使用上邊指定的hostname

  • sudo vi /etc/hosts,添加如下一行映射
10.211.55.3     gitlab.zhaojigang.com
  • http://10.211.55.3:8929/(或者http://gitlab.zhaojigang.com:8929/)
    • 其中,10.211.55.3是gitlab所在機器的地址

在這里,創建密碼(eg.123456),之后使用用戶名(root)和密碼(123456)登陸。

 

六、新建group

說明:將所有的微服務代碼存放在services組下,該組的可見性是Internal(可自己指定)

  • private:該組下的所有項目只能被該組的成員看到
  • internal:所有登陸的用戶都可以看到該組下的所有項目

創建group失敗!!!因為services是保留字,所以不能做組名。改成service是可以的。

  

 

七、新建project

 

八、將原有的項目(myframework)push到遠程master

  • cd Desktop/microservice/myframework/
  • git init
  • git remote add origin http://gitlab.zhaojigang.com:8929/service/myframework.git
  • git add --all
  • git commit -m"init"
  • git push origin HEAD:master

此時,將產生2個分支,一個本地master,一個遠程master。

 

九、創建dev分支

1、在如上頁面創建遠程dev分支(該分支根據master創建)。

2、本地創建dev分支

  • git checkout -b dev

此時"git branch -a"只能看到三個分支,本地dev、master以及遠程master。

修改中一些代碼后,

3、本地dev追蹤遠程dev

  • git add --all
  • git commit -m"xxx"
  • git push origin HEAD:dev

此時"git branch -a"就能看到4個分支,本地dev、master以及遠程dev、master。

4、將遠程dev分支的代碼merge到遠程master分支上‘

附:ssh key配置

在本機(git客戶端安裝的機器上)執行

  • ssh-keygen -t rsa -C "admin@example.com"

之后將生成的公鑰(cat ~/.ssh/id_rsa.pub)貼到gitlab的ssh key框中即可。

 

遺留問題:

  • host DNS解析
    • 采用在訪問機器配置/etc/hosts映射關系的方式解決
  • .gitignore不起作用
    • 解決方案:http://www.pfeng.org/archives/840


免責聲明!

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



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