jenkins的介紹和特點
- 基於Java的的開源自動化平台
- 提供IC/CD任務及流水線的服務
- 豐富的插件系統,支持功能擴展
- WEB的管理和使用界面
- 開源免費
- 支持分布式部署
1、確認Java環境
安裝有jdk,正確的配置了JAVA_HMOE,且最好是1.8及以上,不然可能不兼容一些版本
官方信息:
- 2.164(2019-02)及更高版本:Java 8或Java 11
- 2.54(2017-04)及更高版本:Java 8
- 1.612(2015-05)及更高版本:Java 7
2、下載安裝
2.1、rpm安裝
因為我網絡環境不好,使用不了yum的方式,只能用rpm
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm
rpm -ivh jenkins-2.222.1-1.1.noarch.rpm
2.2、yum安裝
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
3、配置國內jenkins插件下載的鏡像
在jenkins的家目錄下找到hudson.model.UpdateCenter.xml
rpm安裝的jenkins家目錄是/var/lib/jenkins
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
把https://updates.jenkins.io/update-center.json
改成http://mirror.xmission.com/jenkins/updates/update-center.json或清華的鏡像http://updates.jenkins.io/update-center.json
4、啟動服務
啟動前確認沒有其他的服務在占用8080端口
systemctl daemon-reload
systemctl start jenkins
netstat -ntlup|grep
8080 #8080端口起來了就說明啟動成功
報錯1:jenkins[19208]: Starting Jenkins bash: /usr/bin/java: 沒有那個文件或目錄
原因:因為是二進制安裝的Java,所以沒找到/usr/bin/java這個文件
解決方法1:修改配置jenkins文件
vim /etc/init.d/jenkins
...
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/local/jdk1.8.0/bin/java
"
...
systemctl daemon-reload
systemctl start jenkins
解決方法2:創建軟連接
ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java
5、訪問jenkins頁面
用瀏覽器訪問jenkins服務器的 IP:8080
在下載默認插件時卡住;卡在打開網站后 Please wait while Jenkins is getting ready to work ...都是因為沒有配置好國內鏡像
1)解鎖Jenkins
在jenkins服務器上執行cat /var/lib/jenkins/secrets/initialAdminPassword
就能得到密碼,密碼文件也會在你使用后刪除
2)設置用戶
3)插件下載
下載默認的插件就行了,之后可以需要什么插件再下載
4)界面介紹
單元 | 描述 |
---|---|
新建任務 | 創建一個具體的任務,具體怎么去執行構建部署 |
用戶列表 | 用戶管理,修改及創建用戶或者密碼 |
構建歷史 | 每個項目的構建歷史記錄 |
系統管理 | Jenkins的一些基本配置(比較重要的配置:系統設置、憑證配置、插件管理、節點管理、管理用戶) |
我的視圖 | 此用戶擁有權限的視圖(視圖:多個項目的集合) |
憑證 | 較為機密的用戶密碼及認證信息存儲地 |
Lockable Resources | jenkins的鎖定資源 |
新建視圖 | 新建一個視圖,供你新建任務 |
構建隊列 | 正在構建的任務列表 |
構建執行狀態 | 構建任務狀態或者節點狀態 |
6、新建第一個項目hello world
通過第一個沒什么正式用圖的hello world項目,了解一些jenkins項目是怎么創建的
1)點擊新建任務,填寫項目名,點確認
2)填寫描述;在項目里添加一個String類型的變量,等會在構建shell腳本中打印出來
3)在底部的構建欄中選擇 shell腳本的方式構建
並寫入兩行shell語句,並點保存
echo "hello world"
echo "$path1"
如圖
4)保存后自動跳轉到hello world項目界面,點擊“ Build with Parameters”,開始執行構建
5)點擊最新的構建歷史記錄
再點控制台輸出,看到我們剛剛寫的shell腳本的打印結果,這就說明hello world執行構建成功
思考:既然jenkins能執行shell,那我把拉取代碼 ->構建 -> 發布 -> 測試網站->回滾備份......一系列操作寫成shell腳本就行啦,為什么還需要jenkins?