一直想把以前一些關于Jenkins持續集成相關的經驗寫下來,最近正好工作中也要用到Jenkins進行持續集成和自動化部署,還是決定抽出時間記錄下。
這個系列有四篇文章,自動部署分成了2篇:
- jenkins+git+maven持續集成(一):主要介紹Centos7下jenkins的安裝
- jenkins+git+maven持續集成(二):主要介紹下jenkins怎么集成git+maven進行自動構建
- jenkins+git+maven持續集成(三):主要介紹下jenkins怎么集成進行自動部署(發布到maven私有庫)
- jenkins+git+maven持續集成(四):主要介紹下jenkins怎么集成進行自動部署(通過SSH部署到服務器)
Jenkins簡介
Jenkins官網地址:https://jenkins.io/zh/:
已經國際化了,打開就是中文文檔,查找資料很方便。官網首頁的一句介紹概括了Jenkins可以干什么:Jenkins是開源CI&CD軟件領導者, 提供超過1000個插件來支持構建、部署、自動化,滿足任何項目的需要。
其中CI是Continuous Integration,持續集成;CD是Continuous Delivery,持續交付。
Jenkins的特點在首頁上也能清晰地看到,這里就不每個點去解釋了,用到的地方會詳細說明下:
Jenkins安裝
在首頁中能看到Jenkins的一個特點:簡易安裝,Jenkins是一個獨立的基于Java的程序,可以立即運行,包含Windows,Mac OS X和其他類Unix操作系統;這說明2點,一是需要Java環境,二是支持各種系統。
Java環境這里就不說了,用maven肯定是Java環境下的。
我們點擊進入首頁的下載https://jenkins.io/zh/download/,選擇你需要在什么系統下安裝:
這里我們選擇Jenkins2.176.2版本的Centos的下載包,先點擊下方用戶手冊提供的安裝Jenkins部分,可以看到對于安裝的一些基本要求:
回到剛才的下載頁點擊的Centos下載鏈接,可以看到提供了獨立安裝的rpm包,以及通過yum安裝的方式:
這里我們選擇用yum安裝的方式,現在在Centos7中添加jenkins的源:
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
確保你的Centos7中安裝了Java8,然后再運行:
yum install jenkins -y
安裝完成后,運行:
systemctl start jenkins
如果Centos7上安裝的是oracle的java,這時會啟動不了:
檢查下錯誤信息:
發現沒有/usr/bin/java這個文件或文件夾,這里是因為Jenkins默認指定了幾個Java安裝的路徑,我們進入jenkins啟動文件:
vim /etc/rc.d/init.d/jenkins
我們在這個文件能看到不少有用的信息:
其中有Jenkins war包的地址,以及Jenkins去哪里找java;如果你的java路徑沒有在下方紅色框中的區域,你需要將實際的java地址加上。修改完成后再次啟動:
systemctl daemon-reload
systemctl start jenkins
這里要先運行systemctl daemon-reload,不然還是會提示啟動不了:
在瀏覽其中輸入服務器的地址,Jenkins默認的端口是8080:
等待一段時間后可以看到:
在提示的路徑下運行:
cat /var/lib/jenkins/secrets/initialAdminPassword
將密碼復制后點擊繼續,等一小段時間會看到安裝界面:
這里選擇安裝推薦的插件,后面再根據需要添加。可以看到默認推薦的插件(默認有Gradle,居然沒有maven。。。難道maven已經不是主流了嗎):
等待安裝完成,設置新的管理員賬號(也可以繼續使用admin,修改密碼)。
保存并完成后進入一個新的界面:
如果不需要修改端口,直接點擊保存并完成:
終于完成了,點擊開始使用Jenkins:
可以看到Jenkins界面了。然后養成好習慣,在Centos7中設置Jenkins開機啟動:
chkconfig jenkins on
好,Jenkins在Centos7下的安裝就介紹到這了;這周會完成后面2篇關于git+maven的自動構建和在Centos7下的自動部署。