實驗環境:
- 測試機:192.168.2.156
- Jenkins:192.168.2.157
- Gitlab:192.168.2.158
溫馨提示:如果不知道,Jenkins和Gitlab安裝過程~可參考本人的一下博客文章
https://www.cnblogs.com/bixiaoyu/p/9560992.html (Jenkins.war包構建Jenkins平台)
https://www.cnblogs.com/bixiaoyu/p/9231861.html (企業級代碼托管Gitlab)
一:配置Gitlab
既然要做到集成部署,肯定需要一個代碼倉庫供,開發提交的代碼上傳到Gitlab倉庫中,由Jenkins獲取編譯;
創建代碼倉庫,隨后創建一個分支和測試文件
我們為了方便開發git上傳或下載源代碼,可配置SSH免密登陸,在Gitlab本地上生成ssh公私秘鑰,將公鑰放到Gitlab中即可
這樣我們在Gitlab上面克隆源碼倉庫即可免密
[root@gitlab ~]# ssh-keygen -t rsaq #生成公私秘鑰要對~
[root@gitlab ~]# cat .ssh/id_rsa.pub 查看公鑰將公鑰復制到gitlab上~
[root@gitlab ~]# git clone git@192.168.2.158:root/Nginx-web.git 正克隆到 'Nginx-web'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) 接收對象中: 100% (3/3), done.
[root@gitlab ~]# cd Nginx-web/
[root@gitlab Nginx-web]# ls
Nginx-test.html
[root@gitlab Nginx-web]# echo "This is testNginx-web" > 1.txt #自定義並寫入配置文件,作為測試代碼
[root@gitlab Nginx-web]# git add . #提交新文件以及被修改的文件,但不包括被刪除的文件
[root@gitlab Nginx-web]# git commit -m "add 1.txt" #將暫存區的最新改動提交到本地版本庫,-m參數指定后面的message消息
[master 1674e56] add 1.txt
1 file changed, 1 insertion(+)
create mode 100644 1.txt
[root@gitlab Nginx-web]# git push #將本地的文件推送到本地代碼版本庫
。。。。。省略~
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.2.158:root/Nginx-web.git
c917d8b..1674e56 master -> master
回過頭查看Gitlab上面,可以看到我們上傳的文件1.txt~
【配置Jenkins】
#打開jenkins頁面 #添加插件:系統管理 - 管理插件 #需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab #添加完插件重啟jenkins,開始添加要部署代碼的主機,注意一定是要能夠ssh登陸的用戶。 #添加主機:系統管理 - 系統設置 找到Publish over SSH
根據上面的所需插件,依次搜索並逐一安裝,如下圖所示~
以下是在系統設置里面配置,需要指定需要代碼部署的遠程主機IP,同時需要將Jenkins的私鑰上填寫到對應框里,填寫完畢之后,Test Configuration測試一下,即可保存~
添加完需要部署的主機之后,我們即可創建一個任務了,接下來配置是在本局任務中進行的,上述配置都是針對於全局~
下圖是Jenkins的私鑰,將Jenkins的私鑰寫入,因為Jenkins需要免密去Gitlab上獲取代碼,因此,需要將Jenkins上的公鑰上傳到Gitlab上面
源碼管理
#構建觸發器
#構建,也就是配置需要部署的代碼測試機的代碼測試路徑~
【配置Gitlab】
最后別忘了,要將Jenkins的公鑰寫入Gitlab的框框中~如下是保存之后的狀態 ,不想在多說了~
最后呢,我們直接構建即可~SUCCESS,ok~打完收工,最后在測試機上瞅瞅~
小坑踩一踩環節:
如果說在遇到在Gitlab上寫入key和url字后進行測試報錯,可按照以下方法解決~
點擊test push events時會報錯:Url is blocked: Requests to the local network are not allowed:我們需要如圖巴拉巴拉即可~

