1. 程式人生 > 其它 >Linux安裝(十九)之jenkins的安裝

Linux安裝(十九)之jenkins的安裝

持續整合環境-Jenkins的安裝

jenkins的官網

https://www.jenkins.io/zh/

中國映象

 https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

把安裝包上傳到伺服器,進行安裝

rpm -ivh jenkins-2.277.4-1.1.noarch.rpm
修改Jenkins配置
vim /etc/sysconfig/jenkins
修改內容如下:注意:如果使用者使用預設,則需要在系統上建立jenkins使用者
JENKINS_USER="root"
JENKINS_PORT="8888"
啟動Jenkins
systemctl start jenkins

開啟瀏覽器訪問

地址:8888

注意:需要開啟防火牆哦

使用 sudo systemctl start jenkins 命令啟動Jenkins服務提示如下錯誤:

Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

按照提示使用 systemctl status jenkins.service 命令檢視Jenkins服務的狀態:

 注意紅框處標註的位置,/usr/bin/java 是Jenkins配置檔案中的預設java路徑,而主機上安裝的java路徑不是這個,首先使用 java -version 命令檢視已安裝的java版本,如果版本低於1.8,需要將java版本升級到1.8或更新的版本,確認java版本符合要求後使用以下命令檢視本機安裝的java路徑

which java

然後修改Jenkins配置檔案中的java路徑

vi /etc/init.d/jenkins

 

執行 systemctl daemon-reload 命令重新載入配置檔案
執行 sudo systemctl start jenkins 命令啟動Jenkins
執行 systemctl status jenkins.service 命令檢視Jenkins服務的狀態

 這時已經可以看到Jenkins服務成功啟動了

 獲取並輸入admin賬戶密碼

cat /var/lib/jenkins/secrets/initialAdminPassword
跳過外掛安裝 因為Jenkins外掛需要連線預設官網下載,速度非常慢,而且經過會失敗,所以我們暫時先跳過外掛安 裝 新增一個管理員賬戶,並進入Jenkins後臺   儲存並完成 開始使用Jenkins   Jenkins密碼遺忘處理 //修改配置檔案安全功能禁用
vim /var/lib/jenkins/config.xml
<useSecurity>false</useSecurity>   
//重啟jenkins服務
systemctl restart jenkins
可以直接登入修改賬號密碼 修改jenkins中已有的使用者名稱和ID
vim /var/lib/jenkins/users/users.xml

持續整合環境-Jenkins外掛管理

Jenkins本身不提供很多功能,我們可以通過使用外掛來滿足我們的使用。例如從Gitlab拉取程式碼,使用Maven構建專案等功能需要依靠外掛完成。接下來演示如何下載外掛。 修改Jenkins外掛下載地址(選做) Jenkins國外官方外掛地址下載速度非常慢,所以可以修改為國內外掛地址: Jenkins->Manage Jenkins->Manage Plugins,點選Available 這樣做是為了把Jenkins官方的外掛列表下載到本地,接著修改地址檔案,替換為國內外掛地址 cd /var/lib/jenkins/updates sed -i 's/http:\/\/updates.jenkins- ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json 最後,Manage Plugins點選Advanced,把Update Site改為國內外掛下載地址https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json   Sumbit後,在瀏覽器輸入: http://192.168.153.20:8888/restart ,重啟Jenkins。下載中文漢化外掛 Jenkins->Manage Jenkins->Manage Plugins,點選Available,搜尋"Chinese" 完成後如下圖: 重啟Jenkins後,就看到Jenkins漢化了!(PS:但可能部分選單漢化會失敗) jenkins升級 返回工作臺,發現可以回滾,這就是jenkins的一個人性化的地方,發現新版本不穩定,不行就回滾 注:每次更新一定要重啟。點選等待重啟就行 之後重複以上操作,升級到2.333(2.333版本升級完有很多bug,可以持續關注) 更新完成,更新最新版本重啟之後時間有點長不要擔心。

 持續整合環境-Jenkins使用者許可權管理

我們可以利用Role-based Authorization Strategy 外掛來管理Jenkins使用者許可權 安裝Role-based Authorization Strategy外掛 開啟許可權全域性安全配置 授權策略切換為"Role-Based Strategy",儲存   建立角色 在系統管理頁面進入 Manage and Assign Roles 點選"Manage Roles"   Global roles(全域性角色):管理員等高階使用者可以建立基於全域性的角色 Project roles(專案角色): 針對某個或者某些專案的角色 Slave roles(奴隸角色):節點相關的許可權   我們新增以下三個角色: baseRole:該角色為全域性角色。這個角色需要繫結Overall下面的Read許可權,是為了給所有使用者綁  定最基本的Jenkins訪問許可權。注意:如果不給後續使用者繫結這個角色,會報錯誤:使用者名稱 is missing the Overall/Read permission role1:該角色為專案角色。使用正則表示式繫結"apple.*",意思是隻能操作apple開頭的專案。role2:該角色也為專案角色。繫結"orange.*",意思是隻能操作orange開頭的專案。   儲存。   建立使用者 在系統管理頁面進入 Manage Users   分別建立兩個使用者:jack和kill   給使用者分配角色 系統管理頁面進入Manage and Assign Roles,點選Assign Roles 繫結規則如下: jack使用者分別繫結baseRole和role1角色 kill使用者分別繫結baseRole和role2角色   儲存。   建立專案測試許可權 以ww管理員賬戶建立兩個專案,分別為apple01和orange01 結果為: jack使用者登入,只能看到apple01專案 kill使用者登入,只能看到orange01專案   四、持續整合環境-Jenkins憑證管理 憑據可以用來儲存需要密文保護的資料庫密碼、Gitlab密碼資訊、Docker私有倉庫密碼等,以便 Jenkins可以和這些第三方的應用進行互動。   安裝Credentials Binding外掛 要在Jenkins使用憑證管理功能,需要安裝Credentials Binding外掛     安裝外掛後,左邊多了"憑證"選單,在這裡管理所有憑證   可以新增的憑證有5種:   Username with password:使用者名稱和密碼 SSH Username with private key: 使用SSH使用者和金鑰 Secret  file:需要保密的文字檔案,使用時Jenkins會將檔案複製到一個臨時目錄中,再將檔案路徑設定到一個變數中,等構建結束後,所複製的Secret file就會被刪除。 Secret text:需要儲存的一個加密的文字串,如釘釘機器人或Github的api token Certificate:通過上傳證書檔案的方式 常用的憑證型別有:Username with password(使用者密碼)和SSH Username with private key(SSH 金鑰) 接下來以使用Git工具到Gitlab拉取專案原始碼為例,演示Jenkins的如何管理Gitlab的憑證。  安裝Git外掛和Git工具 為了讓Jenkins支援從Gitlab拉取原始碼,需要安裝Git外掛以及在CentOS7上安裝Git工具。   Git外掛安裝:   CentOS7上安裝Git工具: yum install git -y 安 裝 git --version 安裝後檢視版本   使用者密碼型別 1) 建立憑證 Jenkins->憑證->系統->全域性憑證->新增憑證   選擇"Username with password",輸入Gitlab的使用者名稱pyw和密碼,點選"確定"。         2) 測試憑證是否可用 建立一個FreeStyle專案:新建Item->FreeStyle Project->確定   找到"原始碼管理"->"Git",在Repository URL複製Gitlab中的專案URL     這時會報錯說無法連線倉庫!在Credentials選擇剛剛新增的憑證就不報錯啦   儲存配置後,點選構建”Build Now“ 開始構建專案   檢視/var/lib/jenkins/workspace/目錄,發現已經從Gitlab成功拉取了程式碼到Jenkins中。   SSH金鑰型別 SSH免密登入示意圖   1)  使用root使用者生成公鑰和私鑰 ssh-keygen -t rsa 在/root/.ssh/目錄儲存了公鑰和使用   id_rsa:私鑰檔案id_rsa.pub:公鑰檔案   2) 把生成的公鑰放在Gitlab中 以pyw賬戶登入gitlab->點選頭像->Settings->SSH Keys 複製剛才id_rsa.pub檔案的內容到這裡,點選"Add Key"   3) 在Jenkins中新增憑證,配置私鑰 在Jenkins新增一個新的憑證,型別為"SSH Username with private key",把剛才生成私有檔案內容複製過來   4) 測試憑證是否可用 新建"test02"專案->原始碼管理->Git,這次要使用Gitlab的SSH連線,並且選擇SSH憑證   同樣嘗試構建專案,如果程式碼可以正常拉取,代表憑證配置成功!