使用jenkins進行持續集成

看到別人用jenkins代替手動打包發佈,很是羨慕,因此嘗試一下。
先說背景:用的阿里ecs雲服務器,爲了一次成功,儘量用CLI安裝,避免了大部分配置,但缺點是不夠靈活。廢話不說,看怎麼一步步讓小老頭跑起來。java

一、安裝oracle-jdk

sudo apt-get install python-software-properties 
sudo apt-get install software-properties-common

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

二、安裝jenkins

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

三、修改端口

訪問8080出現了個小老頭,看起來和善可親python

,可是當你jenkins系統弄的出問題以後,他就變成了惡魔老頭git

clipboard.png >>
clipboard.pnggithub

這個好玩的變化不知道他兄弟hudson有沒有。可是一般咱們不但願8080給小老頭,因此咱們須要修改默認端口,這地方比較坑,須要修改兩個地方。web

  1. 檢查 /etc/init.d/jenkins 腳本,修改 do_start 函數的 check_tcp_port 命令,端口號從 8080 換成 8082
  2. 修改/etc/default/jenkins 中HTTP_PORT=8082

四、在jenkins主頁中,新建maven項目,新建一個任務

clipboard.png

選擇maven,項目構建,若是沒有maven項目選項那麼你須要下載maven插件,具體的下載地方在系統管理裏面服務器

clipboard.png
下載這個插件,而後新建項目,在這裏大多數同窗都是使用git進行的項目管理,下面是我配置的圖片一看就明白oracle

clipboard.png

clipboard.png

clipboard.png
而後點擊保存,到主頁去構建這個job,那麼如今進行到這一步,咱們的計劃達到了哪一步?
如今咱們能夠把代碼上傳到github上的代碼,而後再jenkins上構建,就會在服務器上生成jar文件,接下來咱們要作的任務就是java -jar運行到這個jar包。固然咱們最但願的是構建結束以後,jenkins給咱們自動運行,這樣才發揮jenkins的做用。
因此,找到項目添加其餘的配置。maven

clipboard.png

clipboard.png
如圖所示,這是構建完成的動做,寫上腳本讓他自動運行。tcp

五、最後的代碼部分

# 咱們要在這裏啓動個進程 因此告訴jenkins不要殺死我
BUILD_ID=dontKillMe
#目標文件夾   這兩個變量按本身的喜愛來 我只是簡單的配置了下
DIR=/var/lib/jenkins/workspace/renting_server/target/
JARFILE=Renting-0.0.1-SNAPSHOT.jar

#若是進程存在那麼殺死進程
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9

# 接下來的兩句是真正運行jar包的  
cd $DIR
nohup java -Dhudson.util.ProcessTree.disable=true  -jar $JARFILE  &

代碼有點醜,等有時間優化一下。
未完待續...函數

相關文章
相關標籤/搜索