【移動應用開發(fā)技術】Jenkins 持續(xù)集成使用教程_第1頁
【移動應用開發(fā)技術】Jenkins 持續(xù)集成使用教程_第2頁
【移動應用開發(fā)技術】Jenkins 持續(xù)集成使用教程_第3頁
【移動應用開發(fā)技術】Jenkins 持續(xù)集成使用教程_第4頁
【移動應用開發(fā)技術】Jenkins 持續(xù)集成使用教程_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

【移動應用開發(fā)技術】Jenkins持續(xù)集成使用教程

Jenkins持續(xù)集成使用教程以Mac設備為例(Windows步驟類似),幫你一步一步搭建好jenkins。jenkins屬于java項目依賴于java,需要先安裝javajdk,具體安裝方式請自行百度。安裝jenkins有常用的三種方式。在官網(wǎng)下載pgk安裝包,使用安裝器安裝,按照流程安裝即可。此安裝方式會在Mac系統(tǒng)里創(chuàng)建一個名為jenkins用戶,jenkins服務就部署在這個用戶下。具體步驟如下圖所示:此種方式不推薦。直接去官網(wǎng)下載war文件,并cd到jenkins.war所在目錄,執(zhí)行:java-jarjenkins.war--httpPort=8080war包自帶jetty服務器,以上命令會自動啟服務器,并完成部署。此種方式安裝,會在當前用戶的根路徑下創(chuàng)建.jenkins隱藏文件,并產(chǎn)生多余的配置文件,需手動管理,且不方便卸載。此種方式也不推薦。Homebrew作為macOS下的包管理器使用起來異常的簡單快捷方便。安裝Homebrew之前,首先安裝CommandLineToolsforXcode,命令如下:xcode-select--installHomebrew依賴CommandLineToolsforXcode,Xcode命令行工具包含在Xcode中,如果mac設備已經(jīng)安裝Xcode,請忽略此步。安裝完上面的編譯依賴之后,通過下面的代碼完成Homebrew的安裝:ruby-e"$(curl-fsSL/Homebrew/install/master/install)"完成Homebrew安裝??赏ㄟ^以下命令查看當前Homebrew管理的服務:brewserviceslist使用Hombrew安裝jenkins,執(zhí)行以下命令:brewinstalljenkins此步,Homebrew會下載并安裝自動完成所有依賴,包括java。并會創(chuàng)建‘jenkins’命令。同時,卸載jenkins的方式為:brewuninstalljenkins啟動jenkins服務的方式為:brewservicesstartjenkins使用此種方式啟用jenkins服務支持后臺運行,可以關閉終端工具。也可以使用jenkins命令來啟用jenkins服務。但此種方式不支持后臺運行,關閉命令行工具,服務自動關閉。另,常用命令還有:重啟jenkins服務的方式為:brewservicesrestartjenkins停止jenkins服務的方式為:brewservicesstopjenkins通過此種方式安裝,不會在系統(tǒng)中產(chǎn)生垃圾文件和多余的配置文件,所有的文件都是用Homebrew來管理,并且方便卸載。此種方式強烈推薦。如安以上方式安裝后,localhost打不開,可能的情況一般有:javajdk未正確安裝或配置,8080端口被占用,安裝路徑權限不夠等等的問題,遇到這樣的問題最好的辦法是:卸載重裝。不同的安裝方式,卸載方式也會不同。具體可參看這個教程。另,也有如下方式操作Jenkins服務http://localhost:8080/exit//停止服務http://localhost:8080/restart//重啟服務http://localhost:8080/reload//重新載入服務完成jenkins安裝以后,在瀏覽器種打開localhost,會進入配置jenkins頁面。按照提示,找到/Users/Shared/Jenkins/Home/這個目錄下,打開initialAdminPassword文件,復制出密碼并填入,點擊繼續(xù),進入安裝插件頁面。建議選擇Installsuggestedplugins。等待插件安裝完成后,jenkins會重啟,等待重啟完成后,會進入創(chuàng)建用戶頁面。填寫用戶信息后,保存即可。請務必記住用戶名和密碼信息,否則重置用戶信息非常麻煩。登錄http://localhost:8080,選擇“系統(tǒng)管理”——“管理插件”,在“可選插件”中選中“GitLabPlugin”、“GitlabHookPlugin”、“Xcodeintegration"等常用插件,然后安裝。安裝完成插件后,就可以新建項目了!其他常用插件有:EmailExtensionPlugin該插件用于替換Jenkins自帶的郵件發(fā)送,更加的強大。GitPlugin該插件允許使用GIT作為一個構建SCM(源代碼控制管理系統(tǒng))。Postbuildtask該插件允許用戶依據(jù)構建日志的輸出執(zhí)行一個shell/批處理任務。RubyPlugin該插件允許用戶在構建腳本中使用Ruby。PythonPlugin添加執(zhí)行Python腳本作為Hudson的構建步驟。GradlePlugin該插件允許Hudson調用Gradle構建腳本作為主體構建的步驟。FTP-PublisherPlugin該插件能上傳項目構件和整個目錄到一個FTP服務器。ExtendedChoiceParameterplugin該插件可以擴展參數(shù)化構建過程ExtendedChoiceParameterPlug-In該插件可以擴展參數(shù)化構建過程DynamicExtendedChoiceParameterPlug-In該插件可以擴展參數(shù)化構建過程gitparameterPlug-in該插件可以擴展參數(shù)化構建過程fir-plugin該插件是fir.im分發(fā)平臺提供的jenkins插件,用于上傳安裝包到fir.im平臺。此插件安裝方式與上面的插件安裝方式不同,具體安裝方式見文末。點擊新建,在新建項目頁面輸入項目名稱,選擇“構建一個自由風格的軟件項目”,然后進入配置頁面在源碼管理中選擇Git,填寫倉庫地址如出現(xiàn)紅色警告,說明Jenkins訪問不了Git倉庫,一般是因為沒有權限導致。點擊Credentials項的Add,在打開的JenkinsCredentailsProvider:Jenkins頁面,在Username和Password輸入Git倉庫的用戶名和密碼,完成添加。不必擔心用戶信息外泄,Jenkins服務和所有配置都保存在本地。還可以通過配置GitSSH的方式賦予Jenkins訪問Git倉庫的權限,按此方法較為麻煩,具體步驟略。在Branchestobuild中設置BranchSpecifier要構建的分支,默認為master。在構建觸發(fā)器中設置構建自動化的觸發(fā)器。其中Buildperiodically,為定時build,在日程表里設置build時間,如設置0020*表示每天20點執(zhí)行定時build。PollSCM(pollsourcecodemanagement)輪詢源碼管理,表示在指定的時間點去輪詢Git倉庫,看是否有新的commit,如有,則觸發(fā)構建。如設置0/5表示每5分鐘輪詢一次。完成此步驟后,剩余的工作,皆可通過Executeshell腳本來執(zhí)行。不同類型項目執(zhí)行腳本不同。以構建iOS的SellerPlatform迷橙商家端項目上傳fir.im分發(fā)平臺為例完成創(chuàng)建。第一步歸檔archive.sh

`#!bin/bash

exportLC_ALL=zh_CN.GB2312;exportLANG=zh_CN.GB2312

gitMessage=gitlog--pretty=format:"%s";

stringTag=${gitMessage%%】};#%%[表示從右邊開始,刪除最后(最左邊)一個[號及右邊的字符

debug="【Debug";preRelase="【PreRelase";relase="【Relase";

if[[$stringTag!=$debug&&$stringTag!=$preRelase&&$stringTag!=$relase]]thenexit1elseecho"觸發(fā)非參數(shù)化構建暗號:$stringTag】"fi

echo">>>>>>>>>>>>>>>>>>>開始構建項目,當前選擇構建類型:"+$BUILDTYPEecho">>>>>>>>>>>>>>>>>>>當前workspace"+$WORKSPACE

if[$BUILDTYPE=="Release"];thenxcodebuildarchive-workspace$WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace-archivePath$WORKSPACE/build/SellerPlatform.xcarchive-sdkiphoneos-schemeSellerPlatform-configurationRelease

elsexcodebuildarchive-workspace$WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace-archivePath$WORKSPACE/build/SellerPlatform.xcarchive-sdkiphoneos-schemeSellerPlatform-configurationDebug

fi

echo">>>>>>>>>>>>>>>>>>>構建完成"

`#!bin/bashexportLC_ALL=zh_CN.GB2312;exportLANG=zh_CN.GB2312gitMessage=gitlog--pretty=format:"%s";stringTag=${gitMessage%%】};#%%[表示從右邊開始,刪除最后(最左邊)一個[號及右邊的字符debug="【Debug";preRelase="【PreRelase";relase="【Relase";if[[$stringTag!=$debug&&$stringTag!=$preRelase&&$stringTag!=$relase]]thenexit1elseecho"觸發(fā)非參數(shù)化構建暗號:$stringTag】"fiecho">>>>>>>>>>>>>>>>>>>開始構建項目,當前選擇構建類型:"+$BUILDTYPEecho">>>>>>>>>>>>>>>>>>>當前workspace"+$WORKSPACEif[$BUILDTYPE=="Release"];thenxcodebuildarchive-workspace$WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace-archivePath$WORKSPACE/build/SellerPlatform.xcarchive-sdkiphoneos-schemeSellerPlatform-configurationReleaseelsexcodebuildarchive-workspace$WORKSPACE/SellerPlatform/SellerPlatform.xcworkspace-archivePath$WORKSPACE/build/SellerPlatform.xcarchive-sdkiphoneos-schemeSellerPlatform-configurationDebugfiecho">>>>>>>>>>>>>>>>>>>構建完成"以上腳本實現(xiàn)的功能是:當在gitcommitmessge里包含指定的標記號,即可完成對應標記號的構建。把控制權延伸到gitcommit操作里。其中【Debug】代表打debug版本包,【PreRelase】代表打preRelase版本包,【Relase】代表打relase版本包。首先,通過執(zhí)行gitlog--pretty=format:"%s"命令,格式化輸出gitcommitlog,通過%%】*操作,是要拿到最后標記號【Debug】或【PreRelase】或【Relase】,如果拿到對應的標記號,則完成對應方式的構建。另,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"

echo"開始簽名"xcodebuild-exportArchive-archivePath$WORKSPACE/build/SellerPlatform.xcarchive-exportPath$WORKSPACE/build-exportOptionsPlist$WORKSPACE/build/ExportOptions.plist-allowProvisioningUpdatesecho"ipa文件已生成"echo"開始上傳fir"以上腳本實現(xiàn)的功能是:根據(jù)第一步歸檔出來的projectName.xcarchive完成簽名打包。第三步上傳首先,打開終端,安裝fir-clifir的命令行工具,用于通過命令行上傳安裝包。需要先裝好ruby再執(zhí)行geminstallfir-cli上傳打fir命令firpublish${ipa_path}-Tfir_token-c"${commit_msg}"upload.sh

echo">>>>>>>>>>>>>>>>>>>開始上傳到fir"if[$BUILDTYPE=="Debug"];then

firpublish$WORKSPACE/build/SellerPlatform.ipa-Tefa7a5559110764a5037c52d4599635f--passwordrose888-c$CHANGELOG

elif[$BUILDTYPE=="PreRelease"];then

firpublish$WORKSPACE/build/SellerPlatform.ipa-T4f43ef4e28992358b511a76eb1c27d48--passwordrose888-c$CHANGELOG

else

firpublish$WORKSPACE/build/SellerPlatform.ipa-T3a9a1a361fe52b8b0d5eb59c7d0bd808--passwordrose888-c$CHANGELOG

fi

echo">>>>>>>>>>>>>>>>>>>上傳成功啦"

echo">>>>>>>>>>>>>>>>>>>開始上傳到fir"if[$BUILDTYPE=="Debug"];thenfirpublish$WORKSPACE/build/SellerPlatform.ipa-Tefa7a5559110764a5037c52d4599635f--passwordrose888-c$CHANGELOGelif[$BUILDTYPE=="PreRelease"];thenfirpublish$WORKSPACE/build/SellerPlatform.ipa-T4f43ef4e28992358b511a76eb1c27d48--passwordrose888-c$CHANGELOGelsefirpublish$WORKSPACE/build/SellerPlatform.ipa-T3a9a1a361fe52b8b0d5eb59c7d0bd808--passwordrose888-c$CHANGELOGfiecho">>>>>>>>>>>>>>>>>>>上傳成功啦"至此,就完成了持續(xù)集成的流程。完成后建構,還可以通過EmailExtensionPlugin插件,郵件通知到相關人員。還可以定制郵件內(nèi)容

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論