#jenkins安裝和簡單部署java
##jenkins歷史linux
jenkins是一款很是好用的團隊CI(Continuous Integration)工具。它可使你的構建,集成,發佈,開發流程自動化。減輕各個環節所耗時間。同時能夠自行研發插件並用於本身工做環境中。nginx
##簡單描述一下jenkins構建到發部程序的過程:git
首先##開發人員(提交代碼至代碼倉庫) —> 「jenkins(執行構建任務) —> 先去代碼倉庫拉取相應的代碼至workspace —> 根據所定義的編譯流程(如pom.xml) —> 在編譯過程當中能夠test(測試)程序」 —> 發部至工做環境直至服務可用 在jenkins工做的過程,每一步都有提示,而且能夠發郵件等信息來提示構建的人員。web
###安裝jenkinsshell
由於jenkins由java語言所寫,因此下載的jenkins只是一個war包。官網地址:https://jenkins.io/ 。 本次安裝是由tomcat程序安裝apache
- jenkins-2.60.3-1.1.noarch.rpm 直接下載rpm包,而且提供jdk和tomcat
##安裝jenkins rpm包 ]# rpm -ivh jenkins-2.60.3-1.1.noarch.rpm ]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war ###就是這個war包,只須要此包放置# /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins ##部署tomcat容器和jdk ]# tar xf apache-tomcat-7.0.81.tar.gz ]# mv apache-tomcat-7.0.81 jenkins ]# tar xf jdk-8u144-linux-x64.tar.gz ]# mv jdk1.8.0_144 jdk ##在tomcat容器裏添加jdk的環境變量 ]# vim tomcat/bin/startup.sh export JAVA_HOME=/server/jdk export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH ##將以前安裝的jenkins所得的war給複製到webapp目錄下,而後重啓便可(這裏也能夠自行搭配nginx作反向代理) ]# mv /usr/lib/jenkins/jenkins.war /server/jenkins/webapps/ ]# bash /server/jenkins/bin/startup.sh
<br /><br />vim
- 安裝完成後,變可打開瀏覽器訪問192.168.1.156:8080/jenkins
前面簡單的安裝過程,這裏就不詳述了。中間安裝的插件可自行選擇。也可默認安裝。瀏覽器
<br />tomcat
-
下圖中紅色方框內是須要更改的,黃色方框是須要修改的。
-
黃色方框解決方法:在server.xml加入URIEncoding="UTF-8"
-
可增長郵件提醒功能:系統設置->email notification 只須要填寫 smtp.163.com 注意的地方有兩點: 第一:首先你的打開你接收郵箱的smtp功能 第二:在配置填寫密碼時,不是郵箱登錄密碼,而是上面那一步填寫的密碼(也就是開啓郵件)
<br /> <br />
- 配置全局工具配置
這裏面的選項都是jenkins所要用到的基礎的工具
推薦安裝插件: - Deploy to container Plugin //這個是部署tomcat的插件 - Multiple SCMs plugin //能夠選擇添加多個Git庫的插件
jdk,maven,git等插件我我的都是手動下載安裝,也可在jenkins裏選擇安裝
<br /> <br />
- 配置用戶安全訪問策略:
Configure Global Security -> 啓用安全 -> 項目矩陣受權策略 (這裏得提醒一下,在配置用戶時須要先建立用戶,而且先apply) 注意: - 記得給admin全部權限,這個不是默認就是admin擁有全部權限 - 在構建的項目裏也須要添加用戶權限,裏面也是須要給admin權限,切忌,要否則admin就看不到項目了 - 在「全局安全配置」中打開安全矩陣,後就能夠在項目裏添加各類安全機制。
簡單介紹一個和安全配置小項的功能,其實從字面意思上就能夠看的懂 - 最大的權限是Overall的Administer,擁有該權限能夠幹任何事情。 - 最基本的權限是Overall的Read,用戶必須賦予閱讀的權限,否則什麼都看不到。 - 其餘的每一個權限均可根據字面意思來
推薦安裝插件: - Audit Trail plugin //將用戶的更改記錄在一特殊的日誌文件中 - JobConfigHistory plugin //容許你保存jenkins系統配置和job配置文件之前版本的副本 <br /><br />
在以上基本的配置完成後,接下來就能夠添加實例了:
##添加實例:
###General :常規設置
- 正常都是添加一個自由風格的軟件項目,可是我比較推薦使用Pipeline,可是得寫jenkinsfile文件來串聯起來(流水線)。"流水線"很是適合於一些比較複雜的實例。也是一個自動化方能力方面的提高。建議使用。
<br /><br /> <br />
- 啓用項目安全:就和上面的安全同樣,控制用戶權限,必須控制
- 丟棄舊的構建:提示意思已經很明確了
- 參數化構建:顧名思義,就是在點擊"構建"時,能夠根據所提供的參數去"構建"出不一樣的代碼。很好用
####接下來簡單描述一下"參數化構建"兩個經常使用的方法 - Choice Parameter:選擇參數來進行構建 - Name:名稱,也就是變量 - Choices:可選擇的,選擇其中一個,就是給Name名稱變量賦值。 - Description:描述 #####示例: 一:變量選擇
直接輸出變量,便可測試。以後"保存"->"Build with Parameters"->"選擇值"->"開始構建"
選擇no,在查看"Console Output"
能夠很清晰的看到,輸出的值就是我選擇的值。
<br />
二:字符選擇
添加默認值,也就是在參數化構建時,若是您不修改參數,就是使用這個默認值就賦值變量。
我這裏將默認值修改爲"Hello World!!!"
這裏也是成功的。OK,參數化構建就說到這裏,其餘更高級使用方法,去官網查吧! <br /><br />
###源碼管理
以git爲例
- repository url:填寫倉庫的地址
- Credentials:這裏須要配置拉取git源碼的用戶名和密碼
- Branches to build:這裏是提供的拉取代碼版本號,可使用"變量","正則"等,可點擊綠色方框,查看指引。 <br /><br />
這裏其實還有一個編譯工具如,maven,gradle等的配置項須要填寫,這裏也不說明了。 <br /><br />
###構建觸發器
- 觸發遠程構建:自動化構建,拼接URL後寫入代碼中能夠實如今腳本或者工具執行構建
- Build after other projects are built: 構建與其餘項目構建後,用於上下游項目有關聯的時候
- Build periodically:定時執行構建
- GitHub hook trigger for GITScm polling:這個是git鉤子的功能,若是有鉤子,則觸發相應的規則
- Poll SCM: 設置定時檢查代碼倉庫是否有變動,有變動則構建
- minute,0-59 //這裏須要注意的,在分鐘這裏須要加"H"這個標誌,若是不加會報錯。就如上圖的例子
- hour,0-23
- day,0-31
- month,1-12
- week,0-7
<br /><br /> ###構建環境
- Delete workspace before build starts : 在構建以前清空工做空間
- Abort the build if it's stuck : 若是構建出現問題則終止構建
- Add timestamps to the Console Output:給控制檯輸出增長時間戳
- Use secret text(s) or file(s) : 使用加密文件或者文本
###構建 ###構建後
構建就是編譯的過程,只要有代碼,編譯的配置文件(pom.xml)等文件,就會自動構建。 構建後,能夠經過shell腳本或"deploy war/ear to a container"可自動部署 構建完成後,還能夠郵件通知用戶等等功能
<br />
- WAR/EAR files:輸入war包的相對路徑,如個人war包在新建目錄的target下
- context path:輸入用來訪問tomcat的名稱,localhost:8080
- add container:增長容器,通常選tomcat 7X就能夠。這裏的username與password須要到tomcat的conf文件夾中的tomcat--users.xml修改。
- tomcat URL: 就是你但願把war包部署到的tomcat所在IP地址,最後面不須要再加斜槓/。tomcat-users.xml中的用戶名及密碼默認是註釋掉的,因此須要刪除註釋,也能夠直接複製如下代碼到</tomcat-users>以前。若是隻是刪除註釋的話好像部署不會成功,還須要增長manager開頭的三個role才能夠。
<br /> - Recipients : 收件人郵件地址 <br /><br />
最後"保存"->"構建",查看"Console Output"日誌是否正常。一個實例已經配置好,並正常運行