什麼是gitlab:
GitLab 是一個用于倉庫管理系統的開源項目,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務。
什麼是Jenkins:
Jenkins是一個開源軟體項目,是基于Java開發的一種持續內建工具,用于監控持續重複的工作,旨在提供一個開放易用的軟體平台,使軟體的持續內建變成可能。
兩者結合的優勢:
這兩者結合起來,就可以實作開發者送出代碼到GitLab,Jenkins以一定頻率自動運作測試、建構和部署的任務,幫組開發團隊更高效的內建和釋出代碼
一.gitlub的安裝與配置
1.在server1安裝gitlab以及其依賴性
yum install policycoreutils-python
rpm -ivh gitlab-ce--ce.el7.x86_64.rpm
2.檢視對應端口是否打開
yum install net-tools
netstat -antlp
3.編輯gitlab的配置檔案,将ip修改為自己gitlab所在的ip
cd /etc/gitlab/
vim gitlab.rb
gitlab-ctl reconfigure # 重新加載
4.在gitlab中建立項目
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPBFGMWNjY1kjVlhGcywEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYvwFd4VGdvwlMvw1ayFWbyVGdhd3P1kDM0AzMxIDNygDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
5.為了通過ssh直接上傳和拉取代碼,是以需要在gitlab中做免密(在/root/.ssh/中生成公鑰和私鑰)
4.在實體機上使用git來進行版本控制時,為了得一個項目的拷貝(copy),我們需要知道這個項目倉庫的位址(Git URL). Git能在許多協定下使用,是以Git URL可能以ssh://, http(s)://, git://,或是隻是以一個使用者名(git 會認為這是一個ssh 位址)為前辍.
git clone git@172..:root/demo.git
git remote add origin git@172..:root/demo.git
5.在本地編輯readme檔案
vim README.md
git add README.md # 将readme檔案上傳到暫存區
git commit -m "add README.md" # 送出readme檔案到代碼庫
git push origin master # 同步到遠端的gitlab個人倉庫中
在gitlab代碼庫中檢視剛剛上傳的檔案:
二.安裝jenkins
1.使自己的server2虛拟機可以連接配接網際網路
在真機中設定iptables的規則:
iptables -t nat -I POSTROUTING -s / -j MASQUERADE
在server1中添加路由,設定網關為自己真機的網段:
ip route add default via 172.25.1.250
vim /etc/resolv.conf
nameserver
2.在server2中安裝 jdk和 jenkins:
yum install jdk-u171-linux-x64.rpm
jenkins--.noarch.rpm
/etc/init.d/jenkins start
- 根據頁面提示去相應的檔案中擷取初始密碼
cat /opt/jenkins/secrets/initialAdminPassword
4.安裝官方推薦插件,選擇 左側 選項進行安裝
大概等幾分鐘,進度條完成即可:
5.建立使用者(密碼是自己初始設定的)
确認頁面:
jenkins is ready!
6..配置安裝完成之後:
建立一個新的項目testjob
選擇自由風格的代碼:
7.點選配置:(1)源碼管理:添加url添加公鑰(選擇ssh,在真機中檢視私鑰)
(2)建構觸發器,選擇定時建構,寫上定時政策
(3)建構環境–>增加建構步驟—>執行shell ls -l
(4)儲存
8.在真機中編輯檔案,選擇push之後,每一分鐘它會重新整理,會在建構名稱之後選擇控制台輸出