mac jenkins環境安裝及jenkins使用(未完待續)
sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
然後重啟jenkins:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
2. 使用
正確的啟動方式是:
sudo launchctl unload /Library/LaunchDaemaons/org.jenkins-ci.plist
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
這時,jenkies會在/Users/[user name]/.jenkins 下面建立工作目錄,從而它就有許可權去獲取相關的keychain。訪問http://localhost:8080即可。注: 如果想使用7070埠,啟動方式:
sudo launchctl unload /Library/LaunchDaemaons/org.jenkins-ci.plist
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
命令 | 用途 | 備註 |
備份、遷移、恢復jenkins |
遷移:建議將JENKINS_HOME打包後在拷貝, windows可以用zip,rar等,Linux有zip,tar等,然後將打包的檔案解壓到新的JENKINS_HOME目錄就行了。 備份:如果是臨時備份,整個壓縮檔案就行了 |
|
升級Jenkins | war:下載新版的war檔案,替換舊版本war檔案。重啟即可。 二進位制:解除安裝舊版本,安裝新版本即可 note:升級前,請測試該版本和你本地資料的相容性。如何測試:將JENKINS_HOME拷貝一份到新的機器,用新版的程式啟動。測試對應的外掛和配置。 |
|
Jenkins 啟動時的命令列引數 |
--httpPort=$HTTP_PORT,用來設定jenkins執行時的web埠。 |
|
注意事項 |
* 使用file fingerprinting來管理依賴關係。當在Jenkins上你的job依賴其他的job時,可以使用file fingerprinting來幫助定位依賴的版本資訊。 * 與issue tracking系統緊密的整合,例如JIRA或bugzilla,從來減少對change log的修改。 * 總是配置job產生趨勢報告和自動化測試,當你執行一個Java build。趨勢報告幫助專案經理和開發人員快速地瞭解當前專案的進度和狀態。 * 確保Jenkins的home目錄擁有足夠的空間。 * 在刪除不使用的job前請先存檔。 * 為不同的branch建立不同的job,build來儘早地發現錯誤。 * 對於經常的維護性的工作可以使用job來自動地完成,例如對磁碟的清除工作。 |
|
外掛 |
Deploy Plugin外掛支援將War/Jar部署到遠端的應用伺服器上,例如Tomcat,JBoss,Glassfish。
Publish Over SSH這個外掛可以通過ssh連線其他Linux機器
JobConfigHistory Plugin 非常有用,可以檢視job歷史配置資訊
Static Code Analysis Plug-ins
|
|
job 構建方法 | 例如,方法名gitGlobalproperties 方法一: 直接在Jenkins 上的頁面上點選【立即構建】 方法二: 使用命令---遠端啟動job,來構建 curl http://127.0.0.1:8000/job/gitGlobalproperties/build 或者curl -u username:password http://127.0.0.1:8000/job/gitGlobalproperties/build |
|
jenkins 內建變數 | 在任何job中均可使用 內建變數: BUILD_NUMBER, 唯一標識一次build BUILD_ID,基本上等同於BUILD_NUMBER,但是是字串,例如2011-11-15_16-06-21; JOB_NAME, job的名字,例如gitGlobalproperties; BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用來全域性地唯一標識一此build,例如jenkins-gitGlobalproperties-5 EXECUTOR_NUMBER; NODE_NAME,slave的名字,例如MyServer01; NODE_LABELS,slave的label,標識slave的用處,例如JavaHelloWorldMyServer01; JAVA_HOME, java的home目錄,例如C:\Program Files (x86)\Java\jdk1.7.0_01; WORKSPACE,job的當前工作目錄,例如c:\jenkins\workspace\JavaHelloWorld; HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/; BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/; JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/; SVN_REVISION,svn 的revison, 例如4; |
|
jenkins 內建變數 使用 | maven使用; linux命令中使用 |
- 配置全域性屬性(所有得勁job均可用;job之間共享的屬性)
Globalproperties2
使用 :${Globalproperties2}或者$Globalproperties2
或者:
- 配置jdk,git,maven,ant
預設: jenkins使用能在 system path 找到的任何 版本的java
2) git ,ant ,maven
- jenkins 拉 git原理
- 配置build成功以後在gitlab上打標籤
- MAVEN構建
# 開啟批處理模式
提示:在構建中開啟 -B(batch,批處理)模式。這會讓日誌變短,因為這避免了依賴下載過程的日誌。這也能確保構建不會因為等待使用者輸入而掛起。
# 開啟完全堆疊跟蹤
提示:開啟 -e 能讓Maven在遇到構建異常的時候產生完全的堆疊跟蹤資訊。這讓我們更容易根據構建失敗結構的日誌或者email中理解問題,而不用重新構建一次。
# 列印測試失敗至標準輸出
提示:開啟 -Dsurefire.useFile=false 。這是我最喜歡的選項之一,因為它能讓surefire列印測試失敗到標準輸出,因此也就能被包含在構建失敗日誌或email中。這樣就節省了你的時間,不用再為了一個簡單的堆疊日誌去機器上尋找surefire報告。
# 總是檢查Snapshot
提示:開啟 -U 讓Maven總是最檢查新的snapshot。該選項同樣也可以在CI系統的setting.xml中開啟。(提示4和6同樣也可以在settings.xml中宣告)
注: 在settings.xml中開啟:
#4: <interactiveMode>false</interactiveMode>
#6: <properties><surefire.useFile>true</surefire.useFile></properties> —— 在actived profile中
#7: <updatePolicy>always</updatePolicy> —— 在repository定義中
- jenkins 內建變數 使用
2) SHELL 中使用 echo ${BUILD_TAG}
echo ${JAVA_HOME}
echo ${BUILD_URL}
- 基本郵件配置
- 呈現測試結果==自動化報告testng等等顯示外掛(此外掛負責讀取testng執行結果以便生成如下測試報告)
3. 外掛安裝
例如: jenkins github相關外掛安裝
到jenkins頁面,jenkins->系統管理->外掛管理->可選外掛中安裝以下外掛
GIT plugin
GitHub plugin
Post-Build Script Plug-in
4. 開啟使用者許可權
選中Jenkins->Manage Jenkins->Configure Global Security->Enable Security->Jenkins's own user database->Allow users to sign up選中Jenkins->Manage Jenkins->Configure Global Security->Enable Security->Project-based Matrix Authorization Strategy
5. 詳細使用
待做: 整合 sonar, junit , ant, git, ssh(linux)參考: