Jenkins是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。
開發(fā)第一步、提交第二步、編譯第三步、測試第四步、發(fā)布第五步
有了Jenkins的幫助,在這5步中,除了第1步,后續(xù)的4步都是自動化完成的,具體的,當你完成了提交,Jenkins會自動運行你的編譯腳本,編譯成功后,再運行你的測試腳本,這一步成功后,接著它會幫你把新程序發(fā)布出去,特別的,在最后一步,你可以選擇手動發(fā)布,或自動發(fā)布,畢竟發(fā)布這件事情,還是需要人為的確認一下比較好。
Jenkins簡單使用介紹
1. 下載地址:
Jenkins的官方網站:http://jenkins-ci.org/
目前最新版本的Windows版:http://mirror.xmission.com/jenkins/windows/jenkins-1.504.zip
2. 安裝
Windows版的安裝方式,直接按照安裝包提示即可。此版本自帶服務器,安裝之后,就可以直接訪問。
如果下載的是.war文件,可以用tomcat進行配置。并且安裝java,使用Java -jar jenkins.war命令。
3. 啟動服務
在服務中,啟動jenkins。
4. 訪問
使用 http://localhost:8080/ 訪問,默認端口為8080,可以修改。
二、權限
1. 插件管理
Jenkins提供了大量的插件,其中在對用戶進行管理配置這塊推薦使用“Role-basedAuthorization Strategy”
如下圖在“系統(tǒng)管理”界面下,點擊“管理插件”進入插件安裝界面。Jenkins的插件安裝管理配置都很簡單,通過web直接全能搞定。
插件管理界面如下圖所示:
勾選需要的插件,到頁面最下面有兩個按鈕“Install without restart” “Download now and install after restart”,根據需要點選提交開始安裝。
2. “Role-basedAuthorization Strategy”的啟用:
點擊“系統(tǒng)管理”點擊“系統(tǒng)設置”,如下圖所示:“安全域”選擇使用Jenkins專有用戶數據庫,可以在初始化的時候勾選“允許用戶注冊”,以后為了安全,請關閉該項;“授權策略”選擇使用“Role-Based Strategy”。
配置完成save后在“系統(tǒng)管理”下新增選項“Manage and Assign Roles”。點擊“管理用戶”新建賬戶后即可進行賬戶,群組的安全策略配置。
3. 管理組權限設置,構建權限設置:
點擊“Manage and AssignRoles”,先選擇“Manage Roles”如下圖所示,在Global roles這里創(chuàng)建權限分組,如admin是最高管理員權限,擁有所有權限,readonly只有讀權限等,這里可以根據具體情況設置多個分組,不同權限;然后設置“Project roles”,Role to add 填寫分組名稱,Pattern填寫分組的規(guī)則。例如這個分組叫test,他的規(guī)則就是構建名為“test.*”的所有構件,然后在“Job”區(qū)里勾選相關權限。設置完成點保存即可。
4. 用戶權限分配:
點擊“Assign Roles”如下圖所示,在“Global roles”下“User/group to add”欄中輸入添加的用戶名,然后勾選管理組。記得把默認的匿名用戶“Anonymous”的默認admin權限去掉,在添加管理員之后,否則不需登錄就能控制整個Jenkins的權限;在“Project roles”下“User/group to add”欄中輸入添加的用戶名,然后勾選對應構建權限名。設置完保存即可。
三、創(chuàng)建Job
1. 創(chuàng)建
點擊新Job,輸入一個job名稱,選擇一個項目的類型。
Job的一些屬性配置
源代碼管理可以與一些SVN等代碼管理軟件,直接管理
構建時候的命令,一般簡單的命令可以使用批處理即可,當然也支持腳本語言。
建議每個命令集中,語句不要太多,或太過復雜。如果很復雜可以使用腳本語言,或寫成批處理文件,進行調用。
構建后操作,可以完成之后發(fā)送郵件,生成文檔,運行下一個構建項目等操作。比如創(chuàng)建一些可以分布進行的項目。
2. 開始構建
Job建立好之后,在界面上就,能夠選擇該項目了。點擊該項目進入,項目操作界面??梢赃M行立即構建,構造中項目前面的圓點在閃爍。停止閃爍,構建完成。
3. 構建完成
構建完成后,如果前面的圓圈是藍色,說明構建成功,如果是紅色或黃色,說明構建失敗或有問題。可以點擊build History中,本次任務的鏈接,進行查看本次構建的詳情。
4. 查看錯誤
在詳情界面中,點擊控制臺輸出,可以看見一些編譯過程中的信息,可以在其中發(fā)現構建錯誤的原因。
Jenkins安裝和配置
一、作用
項目中一直在用Jenkins,但自己對這部分的開發(fā)參與的不是很多,最近準備畢設的時候才開始慌了,倒騰了大半天,之前也有人問我,就準備整理了下相關知識,也便以后回顧。
我們在做項目的時候簡單來說一般會有這五個步驟,開發(fā)—》提交—》編譯—》測試—》部署。人工的流程走就是把項目同步到Git,再用 SSH 登錄服務器把項目pull下來,再migrate數據庫,運行單元測試和遷移靜態(tài)資源,項目每天都會有若干個commit,在多人開發(fā)中帶來許多的不便。
Jenkins管家
為了減輕人為的操作,就可以使用Jenkins來對項目進行持續(xù)集成。它可以幫你在寫完代碼后,一鍵完成開發(fā)過程中的一系列工作,就比如上面五個步驟中,除了第一步,后續(xù)的四步都可以自動化完成。具體的,當你完成了提交,Jenkins會自動運行你的編譯腳本,編譯成功后,再運行你的測試腳本,這一步成功后,接著它會幫你把新程序發(fā)布出去,完成部署。
Jenkins是一個持續(xù)集成工具,如大家所說相當于一個調度平臺,如果你的目的只是自動化部署的話,直接自己寫腳本或者用Ansible、Salt、Puppet、Chef、Fabric等自動化部署工具就行如果你是想在job中加入自動話部署流程的話,可以先寫好自動化部署腳本然后在Jenkins構建任務的Execute Shell中調用相應的Script。
重復單一易出錯的操作將慢慢被機器所取代,具體到軟件開發(fā)中就是,每次打包送測等操作是可以交給機器去自動執(zhí)行的。以前打包給測試的流程是,測試拿了好幾個手機過來,開發(fā)一一安裝,然后送給測試慢慢測試。使用了持續(xù)集成之后將變成,開發(fā)本地提交代碼,Jenkins等持續(xù)集成工具監(jiān)測到代碼變化,自動編譯打包,生成開發(fā)包,測試直接拿著開發(fā)包安裝測試即可。Jenkins做的操作其實很簡單,它只是將我們平時做的每一步重復的操作自動化了而已。
二、安裝(ubuntu16.04)
Jenkins是開源的,使用Java編寫的持續(xù)集成的工具
首先需要先安裝Java,再執(zhí)行以下步驟
添加LTS版本PPA
$ wget -q -O - http://pkg.jenkins-ci.org/debian-stable/jenkins-ci.org.key | sudo apt-key add -
$ sudo sh -c ‘echo deb http://pkg.jenkins-ci.org/debian-stable binary/ 》 /etc/apt/sources.list.d/jenkins.list’
更新源并安裝Jenkins
$ sudo apt-get update
$ sudo apt-get install jenkins
安裝后,Jenkins默認在8080端口上啟動,如果8080被用,可以配置其他,比如配置為8088
編輯 /etc/default/jenkins 并更新HTTP_PORT到8088。
HTTP_PORT=8088
啟動Jenkins服務
$ sudo service jenkins start
關閉Jenkins服務
$ sudo service jenkins stop
這時已經安裝成功,可以在瀏覽器訪問localhost:8088
首次進入,首先要輸入一個密鑰來進入Jenkins,密鑰可以在 /var/lib/jenkins/secrets/initialAdminPassword 獲取
復制命令行的密碼粘過來
選擇相應的選項來安裝插件,選擇系統(tǒng)推薦即可
installplugins.png
會有失敗的情況,我搜了下,說不影響,很多由于從國外的網站下,失敗很正常,直接進行下一步,后面也可以再安裝
接下來可以為Jenkins設置一個管理員帳戶,以后就可以用它登錄到Jenkins了
填寫即可
Jenkins安裝向導成功完成后,就可以看到這個頁面啦
weblcome.png
三、安裝插件
Jenkins提供了非常多的插件,幾乎你想要的插件全有,前提是你能找的到~官網提供了插件搜索功能,選擇Plugins頁就可以各種搜索了。
manage jenkins
plugins
search plugins
安裝完成之后重啟Jenkins
這里推薦我們使用的幾個插件
要用Jenkins對項目進行持續(xù)集成,首先要在插件管理中下載好Github Plugin,使得Jenkins能操作Github中的倉庫
Dashboard插件可以用來定義自己的Jenkins主頁 Dashboard View
homepage.png
Wall display 用來將jobs的狀態(tài)更加直觀地顯示在大屏幕上。
display
Jenkins內置的郵件功能,它可根據構建的結果,發(fā)送構建報告,給當前的committer (用git做代碼管理) Email Extension Plugin 的配置
開發(fā)人員build project 之后,build結果無論是成功還是失敗,都要及時的通知組內其他成員了解最新情況,郵件通知這時候就派上用場作者:半生不熟_鏈接:http://www.jianshu.com/p/1a7f46896c40來源:簡書著作權歸作者所有。商業(yè)轉載請聯系作者獲得授權,非商業(yè)轉載請注明出處。
評論