jenkins發布普通項目、配置自動上線自動部署


1.以root用戶運行jenkins是不專業的

剛開始用jenkins時用jenkins這個普通用戶運行程序,始終無法連接到gitlab,報錯如下:

 

先是把修改jenkins上的git路徑,將git修改為/usr/local/git/bin/git

ll /usr/bin/git
/usr/bin/git -> /usr/local/git/bin/git

然后修改運行jenkins的用戶:

vi /etc/sysconfig/jenkins
JENKINS_USER="root"
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
service jenkins restart

這樣做,在只有內網IP的服務器上倒還行,但這可能會顯示出你比較vegetable,改成root之后,不再報錯:

 

2.配置憑據Credentials來打通gitlab

先恢復之前的狀態,即:將運行用戶改為jenkins,各目錄屬主、屬組也改為jenkins,jenkins地址:http://10.0.0.25:8080

前提:

a.git版本不能過低
git --version
git version 2.7.4
b.從本機可以克隆gitlab倉庫,即公鑰已經拷貝到gitlab上了
ssh-keygen -t rsa -C "test@163.com"
cd /root/c++
git init
git config --global user.name "root"
git config --global user.email "test@163.com"
cat ~/.ssh/id_rsa.pub
# 這里是把root的公鑰拷到了gitlab的管理員用戶的SSH Keys中
git clone git@10.0.0.26:Linkdood-yw/prelogin.git

3.開始創建

a.目前要克隆的倉庫地址是:git@10.0.0.26:Linkdood-yw/prelogin.git

b.選擇ssh密鑰和證書,然后選擇直接輸入,將私鑰復制到下框中即可

c.選擇剛才創建的證書,完成后,選擇構建

d.選擇構建,拉到最底部,選擇使用shell腳本

腳本內容:cp -arf * /data/www

mkdir -p /data/www

chown -R jenkins.jenkins /data/www/

服務器/data/www目錄,結果展示

小結:這部分的認證只是單方面的,即:在jenkins上創建了一個有gitlab用戶私鑰的憑據,每次拉取代碼時,拿着這個憑據就可以獲得gitlab的"信任".

4.gitlab更新代碼以后,jenkins指定的project自動部署

a.前提:jenkins上已經安裝了gitlab插件,這個插件允許GitLab觸發Jenkins構建並在GitLab UI中顯示它們的結果.

b.進入全局憑據頁面

c.添加新憑證

d.從gitlab設置中將token復制過來,將復制的token粘貼到api token中,點擊ok即可

e.系統全局配置中設置gitlab,並測試能否連通jenkins

f.打開項目,編輯項目的構建觸發器

g.點擊高級,點擊Generate,生成項目token

h.在gitlab上配置連接jenkins,將jenkins的項目token與URL復制到gtilab中

i.保存之前進行測試,測試成功后保存即可

j.在gitlab上上傳文件,進行測試即可

在日志中顯示是 Started by GitLab push by Administrator,即表示自動集成成功

有些項目需要自動觸發,有些不需要,需要時,再項目配置中設置--構建觸發器即可.

 

參考博客-大牙啊:http://blog.51cto.com/13520772/2090056

參考博客-鵬嵐:https://www.cnblogs.com/peng-lan/p/9605333.html


免責聲明!

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



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