你好呀,我是小猿來也,一個剛開始折騰 Devops 的程式猿。
寫在前面
前兩天在池大那裡看到了一段話,原話出自美團首席科學家夏華夏老師,具體內容我貼到了下面。
對於圖片裡的內容你們是怎麼認為的呢?我呢,剛好最近在和同事一起折騰 jenkins,我覺得這裡說的就是一個類 "Devops" 的化處理思想,Devops改變世界。
用 jenkins折騰 各種 Devops 的使用場景,還挺好玩的。
這兩天想著在自己的電腦上也裝一個 jenkins 的環境。
查了下生產環境的 jenkins 版本是2.263.4
。為了儘量和生產環境的 jenkins 保持一致,強迫症的我決定在自己的筆記本上也裝這個版本。
一、安裝前的掙扎
因為手裡的筆記本是 macOS,所以就先去 jenkins 官網上翻了翻。
然後通過 https://www.jenkins.io/zh/download/
進入到 https://www.jenkins.io/download/lts/macos/ 這個頁面。
這個頁面給出的指示表明我們可以使用brew install jenkins-lts@YOUR_VERSION
來安裝我想要的2.263.4
這個版本。
懷著很期待的心情,我決定試一試。
$ brew install jenkins-lts@2.263.4
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "jenkins-lts@2.263.4".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
然並卵,結果我發現 Homebrew 找不到這個版本,是我開啟的方式不對嗎?有點尷尬哈。
在 https://www.jenkins.io/download/lts/macos/ 這個頁面繼續往下看,
結果在下圖中紅框的位置發現了 macOS 原生安裝包的下載入口 https://get.jenkins.io/osx-stable/ 。
於是進入 https://get.jenkins.io/osx-stable/ 的頁面
翻了一遍發現這裡提供的最低版本是jenkins-1.409.1.pkg
,最高版本是jenkins-2.235.2.pkg
,沒有我需要的2.263.4
這個版本,再次尷尬。
於是我再次回到 https://www.jenkins.io/download/lts/macos/ 這個頁面,這個頁面裡有一行文字引起了我的注意。
Native Installer (deprecated)
然後我這才意識到官方好像應該是不再支援用新的 pkg 原生包安裝 jenkins 了。
同樣在官方部落格的網頁
Jenkins macOS native installer deprecation:https://www.jenkins.io/blog/2019/11/25/macos-native-installer-deprecation/ 中,
的確有棄用 jenkins macOS 本機安裝程式的說明。
網頁中有一段說明我截了圖,大致是的意思是說作為對棄用 jenkins macOS 本機安裝程式的替代,mocOS 下你可以直接使用 War 包或者使用 Homebrew 來安裝管理 jenkins。
There are two Homebrew formulas for Jenkins: jenkins for Weekly releases and jenkins-lts for LTS ones.
官方部落格中指出可以使用brew install jenkins
安裝 jenkins 的最新每週版本。
使用brew install jenkins-lts
安裝 jenkins 的最新LTS版本。
同樣指出可以使用brew install jenkins@YOUR_VERSION
安裝 jenkins 特定的每週版本。
所以現在根據官方部落格的說法
我們可以使用brew install jenkins-lts
安裝 jenkins 的最新LTS版本。
可以使用brew install jenkins-lts@YOUR_VERSION
安裝 jenkins 的特定的LTS版本。
可以使用brew install jenkins
安裝 jenkins 的最新每週版本。
可以使用brew install jenkins@YOUR_VERSION
安裝 jenkins 的特定的每週版本。
文章開頭的時候我們已經嘗試了用brew install jenkins-lts@2.263.4
來進行安裝,結果根本不好使。
現在我打算嘗試下用brew install jenkins@2.263.4
來進行安裝。
$ brew install jenkins@2.263.4
Updating Homebrew...
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "jenkins@2.263.4".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
同樣也無法正常進行安裝。
好吧本來想偷個懶,結果。。。
我們就乖乖的使用 war 包的方式進行安裝吧。
war 包下載 的入口在官網的下載網頁中,就是下圖中我圈出來的位置。
進入之後發現從1.409.1
到2.289.1
之間所有的lts版在這裡都可以下載,當然也包含我想要的2.263.4
版本。
這個時候我們可以選擇指定的版本對應的連結,進入對應的頁面去直接下載,當然我這裡選擇的是 2.263.4。
我們也可以選擇使用下面的命令來下載。
wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
二、安裝jenkins
程式賬號建立
# 建立組
sudo dscl . create /Groups/jenkins gid 5555
# 建立使用者
sudo dscl . create /Users/jenkins uid 7777
sudo dscl . create /Users/jenkins gid 5555
sudo dscl . create /Users/jenkins shell /bin/bash
# 修改使用者的密碼
sudo passwd jenkins
# 建立使用者的home目錄
sudo mkdir /Users/jenkins
# 使用者的home目錄宿主
sudo chown -R jenkins:jenkins /Users/jenkins
# 宣告使用者的home目錄
sudo dscl . create /Users/jenkins home /Users/jenkins
macOS可以使用dscl 管理使用者,瞭解更多你可以點選檢視。
準備jenkins的執行目錄
# 切換當前使用者為 jenkins
$ su - jenkins
jenkins$ whoami
jenkins
# 準備程式安裝包目錄
jenkins$ pwd
/Users/jenkins
jenkins$ mkdir soft
jenkins$ ls
soft
jenkins$ cd soft/
jenkins$ wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
jenkins$ ls
jenkins.war
# 準備程式執行目錄
jenkins$ cd /Users/jenkins/
jenkins$ mkdir 2.263.4
jenkins$ ls
2.263.4 soft
啟動jenkins
jenkins$ java -jar -Xmx4096m -DJENKINS_HOME=/Users/jenkins/2.263.4 /Users/jenkins/soft/jenkins.war --httpPort=9999
Running from: /Users/jenkins/soft/jenkins.war
webroot: System.getProperty("JENKINS_HOME")
.
.
.
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
ecc86b654f3a4e0bbeb4e2df962839a0
This may also be found at: /Users/jenkins/2.263.4/secrets/initialAdminPassword
.
.
.
啟動的過程中我們可以看到 jenkins 管理員使用者的初始化密碼會寫在的
${JENKINS_HOME}/secrets/initialAdminPassword
中,
我的這個實驗是在/Users/jenkins/2.263.4/secrets/initialAdminPassword
這個檔案中,你在實驗過程可能會稍有不同。
三、初識jenkins
入門指引
jenkins 啟動完成之後,我們訪問 http://localhost?{port}/ (我這裡的埠是9999)即可進入jenkins的頁面。
首次訪問即可看到 jenkins 的入門指引,接下來你會依次看到下面的介面。
這個時候我們可以選擇使用admin賬戶繼續(jenkins 安裝時自動建立 admin 使用者)也可以選擇建立新的 admin 使用者,這裡我們選擇使用已有的 admin 賬戶繼續。
你已跳過建立admin使用者的步驟。要登入請使用使用者名稱 "admin" 及用於訪問安裝嚮導的管理員密碼。
點選開始使用 jenkins
首頁的中間部分主要提供了一些 jenkins 新手可能會用到的連結,第一個便是任務建立連結。
然後是 agent 設定連結
接著是叢集配置的連結
最後是分散式構建的相關文件的連結。
https://www.jenkins.io/redirect/distributed-builds
https://wiki.jenkins.io/display/JENKINS/Distributed+builds
主要選單
首頁的左邊是常用的功能選單的連結。依次分別是"新建Item","使用者列表","構建歷史","Manage Jenkins","My Views"等。
我們先看下"Manage Jenkins"吧,點選進入。
部分外掛由於缺少依賴無法載入。要恢復這些外掛提供的功能,需要修復這些問題並重啟 Jenkins。
按照頁面的提示我們需要重啟一下就 jenkins 這樣才能使外掛生效,然後我們在瀏覽器裡輸入http://localhost:9999/restart
。
點選"是"之後會在"重啟中"頁面的頁面停留片刻
等到 jenkins 重啟完成之後,頁面會自動跳轉到登陸頁面。
在登陸頁面中輸入 admin 以及它的密碼(jenkins 安裝時自動建立的使用者,密碼資訊啟動日誌中有)再次進入 jenkins 的首頁,
發現頁面的選單顯示跟重啟之前有一些差別,應該是重啟之後本地化外掛生效了,選單以中文的形式顯示。
再次進入到"系統管理"選單中,我們同樣發現頁面中選單以中文的形式展示出來了,同時重啟之前的那一片紅色的提示已經消失。
Job Demo
準備好了 jenkins,我們趕緊來跑個 job 試下吧。例子很簡單就是用 jenkins job 列印出 "jenkins hello world"。
建立job。
配置job。
執行job。
job執行記錄列表。
job執行日誌。
Job正常執行並列印出“jenkins hello world”。
管理密碼修改(重要)
最後由於我們一直使用的是 jenkins 安裝時自動設定的密碼,這個密碼在上面的安裝日誌中有輸出。
同時在${JENKINS_HOME}/secrets/initialAdminPassword
這個檔案中也有儲存。
所以會存在一定的安全隱患,為了避免不必要的麻煩,所以這裡我們需要把 admin 的密碼修改一下了。
它的操作步驟是在"系統管理"裡找到"管理使用者"
點選"管理使用者"的連結進入"使用者列表",在給出的所有使用者列表中找出 admin 使用者,點選它的設定按鈕。
進入 admin 使用者的資訊更新頁面,下拉到密碼設定的區域,錄入新的密碼資訊提交即可。
重新訪問http://localhost:9999/
在跳轉的登陸頁面中錄入 admin 使用者的新密碼可以正常登陸就說明 admin 使用者的密碼更新成功了。
最後的最後,不知道是不是我的開啟方式不對,居然無法使用 Homebrew 安裝指定版本的 jenkins,你是如何安裝的呢?