以 Mac 設(shè)備為例(Windows 步驟類似),幫你一步一步搭建好 jenkins。jenkins 屬于 java 項目 依賴于 java,需要先安裝 java jdk,具體安裝方式請自行百度。
十年的盤山網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整盤山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“盤山網(wǎng)站設(shè)計”,“盤山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
安裝 jenkins 有常用的三種方式。
在 官網(wǎng) 下載 pgk 安裝包,使用安裝器安裝,按照流程安裝即可。此安裝方式會在 Mac 系統(tǒng)里創(chuàng)建一個名為 jenkins 用戶,jenkins 服務(wù)就部署在這個用戶下。
具體步驟如下圖所示:
此種方式不推薦。
直接去官網(wǎng)下載 war 文件,并 cd 到 jenkins.war 所在目錄,執(zhí)行:
java -jar jenkins.war --httpPort=8080
war 包自帶 jetty 服務(wù)器,以上命令會自動啟服務(wù)器,并完成部署。
此種方式安裝,會在當(dāng)前用戶的根路徑下創(chuàng)建 .jenkins 隱藏文件,并產(chǎn)生多余的配置文件,需手動管理,且不方便卸載。
此種方式也不推薦。
Homebrew 作為 macOS 下的包管理器使用起來異常的簡單快捷方便。
安裝 Homebrew 之前, 首先安裝 Command Line Tools for Xcode,命令如下:
xcode-select --install
Homebrew 依賴 Command Line Tools for Xcode,Xcode 命令行工具包含在 Xcode 中,如果 mac 設(shè)備已經(jīng)安裝 Xcode,請忽略此步。
安裝完上面的編譯依賴之后,通過下面的代碼完成 Homebrew 的安裝:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
完成 Homebrew 安裝。
可通過以下命令查看當(dāng)前 Homebrew 管理的服務(wù):
brew services list
使用 Hombrew 安裝 jenkins,執(zhí)行以下命令:
brew install jenkins
此步,Homebrew 會下載并安裝自動完成所有依賴,包括 java。并會創(chuàng)建 ‘jenkins’ 命令。
同時,卸載 jenkins 的方式為:
brew uninstall jenkins
啟動 jenkins 服務(wù)的方式為:
brew services start jenkins
使用此種方式啟用 jenkins 服務(wù)支持后臺運行,可以關(guān)閉終端工具。
也可以使用 jenkins 命令來啟用 jenkins 服務(wù)。但此種方式不支持后臺運行,關(guān)閉命令行工具,服務(wù)自動關(guān)閉。
另,常用命令還有:
重啟 jenkins 服務(wù)的方式為:
brew services restart jenkins
停止 jenkins 服務(wù)的方式為:
brew services stop jenkins
通過此種方式安裝,不會在系統(tǒng)中產(chǎn)生垃圾文件和多余的配置文件,所有的文件都是用 Homebrew 來管理,并且方便卸載。
此種方式強烈推薦。
如安以上方式安裝后,localhost 打不開,可能的情況一般有:java jdk 未正確安裝或配置,8080端口被占用,安裝路徑權(quán)限不夠等等的問題,遇到這樣的問題最好的辦法是:卸載重裝。不同的安裝方式,卸載方式也會不同。具體可參看這個教程。
另,也有如下方式操作 Jenkins 服務(wù)
http://localhost:8080/exit //停止服務(wù)
http://localhost:8080/restart //重啟服務(wù)
http://localhost:8080/reload // 重新載入服務(wù)
完成 jenkins 安裝以后,在瀏覽器種打開 localhost ,會進入配置 jenkins 頁面。
按照提示,找到/Users/Shared/Jenkins/Home/ 這個目錄下,打開 initialAdminPassword 文件,復(fù)制出密碼并填入,點擊繼續(xù),進入安裝插件頁面。
建議選擇 Install suggested plugins。
等待插件安裝完成后,jenkins 會重啟,等待重啟完成后,會進入創(chuàng)建用戶頁面。
填寫用戶信息后,保存即可。請務(wù)必記住用戶名和密碼信息,否則重置用戶信息非常麻煩。
登錄 http://localhost:8080 ,選擇“系統(tǒng)管理”——“管理插件”,在“可選插件”中選中“GitLab Plugin”、“Gitlab Hook Plugin”、“Xcode integration"等常用插件,然后安裝。
安裝完成插件后,就可以新建項目了!
其他常用插件有:
Email Extension Plugin
該插件用于替換 Jenkins 自帶的郵件發(fā)送,更加的強大。
Git Plugin
該插件允許使用GIT作為一個構(gòu)建SCM(源代碼控制管理系統(tǒng))。
Post build task
該插件允許用戶依據(jù)構(gòu)建日志的輸出執(zhí)行一個shell/批處理任務(wù)。
Ruby Plugin
該插件允許用戶在構(gòu)建腳本中使用 Ruby。
Python Plugin
添加執(zhí)行 Python 腳本作為Hudson的構(gòu)建步驟。
Gradle Plugin
該插件允許Hudson調(diào)用Gradle構(gòu)建腳本作為主體構(gòu)建的步驟。
FTP-Publisher Plugin
該插件能上傳項目構(gòu)件和整個目錄到一個FTP服務(wù)器。
Extended Choice Parameter plugin
該插件可以擴展參數(shù)化構(gòu)建過程
Extended Choice Parameter Plug-In
該插件可以擴展參數(shù)化構(gòu)建過程
Dynamic Extended Choice Parameter Plug-In
該插件可以擴展參數(shù)化構(gòu)建過程
git parameter Plug-in
該插件可以擴展參數(shù)化構(gòu)建過程
fir-plugin
該插件是 fir.im 分發(fā)平臺提供的 jenkins 插件,用于上傳安裝包到 fir.im 平臺。此插件安裝方式與上面的插件安裝方式不同,具體安裝方式見文末。
點擊新建,在新建項目頁面輸入項目名稱,選擇“構(gòu)建一個自由風(fēng)格的軟件項目”,然后進入配置頁面
在源碼管理中 選擇 Git ,填寫倉庫地址
如出現(xiàn)紅色警告,說明 Jenkins 訪問不了 Git 倉庫,一般是因為沒有權(quán)限導(dǎo)致。點擊 Credentials 項的 Add ,在打開的 Jenkins Credentails Provider:Jenkins 頁面,在 Username 和 Password 輸入 Git 倉庫的用戶名和密碼,完成添加。不必擔(dān)心用戶信息外泄,Jenkins 服務(wù)和所有配置都保存在本地。
還可以通過配置 Git SSH 的方式賦予 Jenkins 訪問 Git 倉庫的權(quán)限,按此方法較為麻煩,具體步驟略。
在 Branches to build 中設(shè)置 Branch Specifier 要構(gòu)建的分支,默認為 master。
在構(gòu)建觸發(fā)器中設(shè)置構(gòu)建自動化的觸發(fā)器。
其中 Build periodically,為定時 build,在日程表里設(shè)置 build 時間,如設(shè)置 00 20 * 表示每天 20 點執(zhí)行定時 build。
Poll SCM (poll source code management) 輪詢源碼管理,表示在指定的時間點去輪詢 Git 倉庫,看是否有新的 commit,如有,則觸發(fā)構(gòu)建。如設(shè)置 0/5 表示每5分鐘輪詢一次。
完成此步驟后,剩余的工作,皆可通過 Execute shell腳本來執(zhí)行。不同類型項目執(zhí)行腳本不同。
以構(gòu)建 iOS 的 SellerPlatform 迷橙商家端項目上傳 fir.im 分發(fā)平臺為例完成創(chuàng)建。
第一步 歸檔
archive.sh
`#! bin/bash
export LC_ALL=zh_CN.GB2312;
export LANG=zh_CN.GB2312gitMessage=
git log --pretty=format:"%s"
;stringTag=${gitMessage%%】}; #%%[ 表示從右邊開始,刪除最后(最左邊)一個 [ 號及右邊的字符
debug="【Debug";
preRelase="【PreRelase";
relase="【Relase";if [[ $stringTag != $debug && $stringTag != $preRelase && $stringTag != $relase ]]
then
exit 1
else
echo "觸發(fā)非參數(shù)化構(gòu)建 暗號:$stringTag】"
fiecho ">>>>>>>>>>>>>>>>>>>開始構(gòu)建項目,當(dāng)前選擇構(gòu)建類型:" + $BUILDTYPE
echo ">>>>>>>>>>>>>>>>>>>當(dāng)前 workspace " +$WORKSPACEif [ $BUILDTYPE == "Release"]; then
xcodebuild archive -workspace $WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace -archivePath $WORKSPACE/build/SellerPlatform.xcarchive -sdk iphoneos -scheme SellerPlatform -configuration Releaseelse
xcodebuild archive -workspace $WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace -archivePath $WORKSPACE/build/SellerPlatform.xcarchive -sdk iphoneos -scheme SellerPlatform -configuration Debugfi
echo ">>>>>>>>>>>>>>>>>>>構(gòu)建完成"
以上腳本實現(xiàn)的功能是:當(dāng)在 git commit messge 里包含指定的標記號,即可完成對應(yīng)標記號的構(gòu)建。把控制權(quán)延伸到 git commit 操作里。
其中 【Debug】 代表打 debug 版本包,【PreRelase】代表打 preRelase 版本包,【Relase】代表打 relase 版本包。
首先,通過執(zhí)行 git log --pretty=format:"%s" 命令,格式化輸出 git commit log,
通過 %%】* 操作,是要拿到最后標記號【Debug】或【PreRelase】或【Relase】,如果拿到對應(yīng)的標記號,則完成對應(yīng)方式的構(gòu)建。
另,Jenkins 會為每個工程項目創(chuàng)建一個本地目錄空間,并提供了 \$WORKSPACE 環(huán)境變量來直接訪問。
第二步 簽名
signature.sh
echo "開始簽名"
xcodebuild -exportArchive -archivePath $WORKSPACE/build/SellerPlatform.xcarchive -exportPath $WORKSPACE/build -exportOptionsPlist $WORKSPACE/build/ExportOptions.plist -allowProvisioningUpdates
echo "ipa文件已生成"
echo "開始上傳fir"
以上腳本實現(xiàn)的功能是:根據(jù)第一步歸檔出來的projectName.xcarchive 完成簽名打包。
第三步 上傳
首先,打開終端,安裝 fir-clifir 的命令行工具,用于通過命令行上傳安裝包。
需要先裝好 ruby 再執(zhí)行
gem install fir-cli
上傳打 fir 命令
fir publish ${ipa_path} -T fir_token -c "${commit_msg}"
upload.sh
echo ">>>>>>>>>>>>>>>>>>>開始上傳到 fir"
if [$BUILDTYPE == "Debug" ]; thenfir publish $WORKSPACE/build/SellerPlatform.ipa -T efa7a5559110764a5037c52d4599635f --password rose888 -c $CHANGELOG
elif [ $BUILDTYPE == "PreRelease" ]; then
fir publish $WORKSPACE/build/SellerPlatform.ipa -T 4f43ef4e28992358b511a76eb1c27d48 --password rose888 -c $CHANGELOG
else
fir publish $WORKSPACE/build/SellerPlatform.ipa -T 3a9a1a361fe52b8b0d5eb59c7d0bd808 --password rose888 -c $CHANGELOG
fi
echo ">>>>>>>>>>>>>>>>>>>上傳成功啦"
至此,就完成了持續(xù)集成的流程。
完成后建構(gòu),還可以通過 Email Extension Plugin插件,郵件通知到相關(guān)人員。還可以定制郵件內(nèi)容。在郵件內(nèi)容里,還可以放置二維碼,方便下載安裝。
參數(shù)化構(gòu)建,顧名思義,就是可以指定構(gòu)建參數(shù),完成高度可定制化構(gòu)建。
首先,需要安裝 git parameter Plug-in插件,然后項目配置頁面,在 General中,選中‘參數(shù)化構(gòu)建過程’,然后選擇 git parameter。如圖所示:
設(shè)置 name 為 git_branch,即為變量名,然后 Parameter type ,就是 選擇 branch/tag/branch or tag 三種類型,在源碼管理中 Branches to build 中設(shè)置 Branch Specifier 為 \$git_branch 。即可完成自定義分支構(gòu)建。
同樣,可以設(shè)置構(gòu)建的版本類型。在構(gòu)建的時候,進行選擇。在此不再贅述。
在上面的例子里,使用的是 fir.im 提供的命令行工具完成后建構(gòu)的上傳,也可以通過 fir-plugin 插件來完成上傳。
首先去下載插件
。然后,進入"系統(tǒng)管理"->"管理插件"->"高級"->"上傳插件"
選擇已下載好的 fir-plugin.hpi 插件,點擊上傳。
安裝完成后重啟服務(wù)。
在 構(gòu)建后操作選擇"Upload to fir.im",并添加 api token 并校驗
立即構(gòu)建項目,成功之后,在工程里的 Console Output 中有如下日志
說明成功了。
首先,拿到 jenkins 服務(wù)器所在設(shè)備上的內(nèi)網(wǎng) IP,執(zhí)行如下命令可獲得
ifconfig en0
進入"系統(tǒng)管理"->"系統(tǒng)設(shè)置" 找到 Jenkins Location 在 Jenkins URL 中設(shè)置地址,并加上端口號,格式如:172.0.0.1:8080/,然后保存。重啟服務(wù),內(nèi)網(wǎng)其他設(shè)備輸入地址即可訪問。
當(dāng)其他設(shè)備不能訪問時,一般原因有:jenkins 服務(wù)器沒啟動,設(shè)備處于休眠模式,設(shè)備內(nèi)網(wǎng) IP 被重新分配。
覺得不錯的話,歡迎關(guān)注我的公眾號哦!
本文標題:Jenkins持續(xù)集成使用教程
文章源于:http://muchs.cn/article46/jcpghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站排名、軟件開發(fā)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)