一、作用
項(xiàng)目中一直在用Jenkins
芳杏,但自己對(duì)這部分的開發(fā)參與的不是很多矩屁,最近準(zhǔn)備畢設(shè)的時(shí)候才開始慌了,倒騰了大半天爵赵,之前也有人問我吝秕,就準(zhǔn)備整理了下相關(guān)知識(shí),也便以后回顧空幻。
我們?cè)谧鲰?xiàng)目的時(shí)候簡單來說一般會(huì)有這五個(gè)步驟烁峭,開發(fā)—>提交—>編譯—>測試—>部署。人工的流程走就是把項(xiàng)目同步到Git
秕铛,再用 SSH
登錄服務(wù)器把項(xiàng)目pull
下來约郁,再migrate
數(shù)據(jù)庫,運(yùn)行單元測試和遷移靜態(tài)資源但两,項(xiàng)目每天都會(huì)有若干個(gè)commit
鬓梅,在多人開發(fā)中帶來許多的不便。
為了減輕人為的操作镜遣,就可以使用Jenkins
來對(duì)項(xiàng)目進(jìn)行持續(xù)集成己肮。它可以幫你在寫完代碼后,一鍵完成開發(fā)過程中的一系列工作悲关,就比如上面五個(gè)步驟中谎僻,除了第一步,后續(xù)的四步都可以自動(dòng)化完成寓辱。具體的艘绍,當(dāng)你完成了提交,Jenkins會(huì)自動(dòng)運(yùn)行你的編譯腳本秫筏,編譯成功后诱鞠,再運(yùn)行你的測試腳本挎挖,這一步成功后,接著它會(huì)幫你把新程序發(fā)布出去航夺,完成部署蕉朵。
Jenkins是一個(gè)持續(xù)集成工具,如大家所說相當(dāng)于一個(gè)調(diào)度平臺(tái)阳掐,如果你的目的只是自動(dòng)化部署的話始衅,直接自己寫腳本或者用
Ansible
、Salt
缭保、Puppet
汛闸、Chef
、Fabric
等自動(dòng)化部署工具就行如果你是想在job
中加入自動(dòng)話部署流程的話艺骂,可以先寫好自動(dòng)化部署腳本然后在Jenkins
構(gòu)建任務(wù)的Execute Shell
中調(diào)用相應(yīng)的Script
诸老。
重復(fù)單一易出錯(cuò)的操作將慢慢被機(jī)器所取代,具體到軟件開發(fā)中就是钳恕,每次打包送測等操作是可以交給機(jī)器去自動(dòng)執(zhí)行的别伏。以前打包給測試的流程是,測試拿了好幾個(gè)手機(jī)過來苞尝,開發(fā)一一安裝畸肆,然后送給測試慢慢測試宦芦。使用了持續(xù)集成之后將變成宙址,開發(fā)本地提交代碼,Jenkins等持續(xù)集成工具監(jiān)測到代碼變化调卑,自動(dòng)編譯打包抡砂,生成開發(fā)包,測試直接拿著開發(fā)包安裝測試即可恬涧。Jenkins做的操作其實(shí)很簡單注益,它只是將我們平時(shí)做的每一步重復(fù)的操作自動(dòng)化了而已。
二溯捆、安裝(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默認(rèn)在8080端口上啟動(dòng)提揍,如果8080被用啤月,可以配置其他,比如配置為8088
編輯 /etc/default/jenkins 并更新HTTP_PORT到8088劳跃。
HTTP_PORT=8088
- 啟動(dòng)
Jenkins
服務(wù)
$ sudo service jenkins start
- 關(guān)閉
Jenkins
服務(wù)
$ sudo service jenkins stop
這時(shí)已經(jīng)安裝成功谎仲,可以在瀏覽器訪問localhost:8088
-
首次進(jìn)入,首先要輸入一個(gè)密鑰來進(jìn)入
Jenkins
,密鑰可以在 /var/lib/jenkins/secrets/initialAdminPassword 獲取
復(fù)制命令行的密碼粘過來 -
選擇相應(yīng)的選項(xiàng)來安裝插件刨仑,選擇系統(tǒng)推薦即可
installplugins.png -
會(huì)有失敗的情況郑诺,我搜了下夹姥,說不影響,很多由于從國外的網(wǎng)站下辙诞,失敗很正常辙售,直接進(jìn)行下一步,后面也可以再安裝
-
接下來可以為Jenkins設(shè)置一個(gè)管理員帳戶飞涂,以后就可以用它登錄到Jenkins了
填寫即可 -
Jenkins安裝向?qū)С晒ν瓿珊蠡鳎涂梢钥吹竭@個(gè)頁面啦
weblcome.png
三、安裝插件
Jenkins
提供了非常多的插件封拧,幾乎你想要的插件全有志鹃,前提是你能找的到~官網(wǎng)提供了插件搜索功能,選擇Plugins
頁就可以各種搜索了泽西。
安裝完成之后重啟Jenkins
這里推薦我們使用的幾個(gè)插件
要用Jenkins對(duì)項(xiàng)目進(jìn)行持續(xù)集成曹铃,首先要在插件管理中下載好
Github Plugin
,使得Jenkins能操作Github
中的倉庫-
Dashboard
插件可以用來定義自己的Jenkins
主頁 Dashboard View
homepage.png -
Wall display
用來將jobs
的狀態(tài)更加直觀地顯示在大屏幕上捧杉。
display Jenkins
內(nèi)置的郵件功能,它可根據(jù)構(gòu)建的結(jié)果陕见,發(fā)送構(gòu)建報(bào)告,給當(dāng)前的committer (用git做代碼管理) Email Extension Plugin 的配置
開發(fā)人員build project
之后味抖,build結(jié)果無論是成功還是失敗评甜,都要及時(shí)的通知組內(nèi)其他成員了解最新情況,郵件通知這時(shí)候就派上用場
不知什么原因仔涩,用QQ郵箱配置失敗了忍坷,后面若成功了會(huì)把步驟貼上來,請(qǐng)參照這個(gè)鏈接 jenkins郵件擴(kuò)展插件的使用