Jenkins+Github+Docker+Maven實現持續集成

     持續集成的工具備不少,例如Jenkins、Strider、Drone.io等。我自身接觸Jenkins比較多,在這裏我就選選擇Jenkins、Github、Docker來實現簡單的實現持續集成。linux

    Github你們都應該很是瞭解一個很是好用的開源的代碼託管平臺,本文使用的示例源碼就託管在github。git

    Docker則是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中。github

    運行環境  ubuntu 14.04web

    1、安裝Jenkinsdocker

           ubunut下能夠經過apt-get方式安裝Jenkins. shell

sudo apt-get update
sudo apt-get install jenkins

            Jenkins默認使用的是8080端口,安裝完成後瀏覽器訪問 http://192.168.0.1:8080(ip換成你本身的)看到下面的頁面證實安裝成功.apache

   

       Jenkins安裝過程當中會在系統中默認建立一個Jenkins用戶,Jenkins會使用該用戶來執行構建腳本。由於Jenkins用戶權限問題會致使一些未知的錯誤.建議使用root用戶來執行Jenkins構建腳本.ubuntu

       能夠經過修改/etc/default/jenkins 讓默認的用戶爲root。    瀏覽器

# user and group to be invoked as (default to jenkins)
#JENKINS_USER=$NAME
JENKINS_USER=root
#JENKINS_GROUP=$NAME
JENKINS_GROUP=root

 二、安裝dockertomcat

      ubunut下也能夠經過apt-get方式安裝docker. 還有不少安裝方式具體能夠參考下docker官方文檔https://docs.docker.com/engine/installation/linux/ubuntulinux/

sudo apt-get update
sudo service docker start

3、安裝Jenkins github插件

    由於選擇的是github做爲代碼託管工具,須要給jenkins安裝Github Plugin。

    安裝步驟: 訪問Jenkins--> 系統管理 -->管理插件-->安裝Github Plugin

     配置github用戶認證信息(必需要配置不然沒法正常下載源碼)

      配置步驟: 系統管理 -->系統配置

      點擊ADD添加認證信息.

      

4、建立Jenkins做業

       1)  單擊新建鏈接

       2)填寫做業名稱、選擇 構建一個自由風格的軟件項目 .    

           

        3) 添加GitHub project

         

       4) 配置源碼管理

           源碼管理方式選擇git,添加github倉庫和認證信息.

           

      5)增長構建步驟  execute shell

          經過shell腳原本實現docker鏡像的建立,以及使用Maven打包項目war包,啓動tomcat服務器.

docker build -t cijd .    #構建cijd鏡像
if [ -n $(awk $(docker ps -a -q))]
 then
 docker rm -f $(docker ps -a -q)  #刪除歷史紀錄
fi
docker run -d -p 8888:8080 cijd  #部署鏡像指定宿主機8888端口轉發到docker容器中tomcat 8080端口

       6)運行一次構建

         點擊當即構建,控制檯輸出以下內容表示構建成功.

 ---> 169dc0859a28
Step 18 : EXPOSE 8080
 ---> Using cache
 ---> 876fbcc5db60
Step 19 : CMD ./var/tmp/tomcat/apache-tomcat-8.0.33/bin/catalina.sh run
 ---> Using cache
 ---> 02300f000731
Successfully built 02300f000731
+ docker ps -a -q
+ awk 42ee1ea78bdf
+ [ -n ]
+ docker ps -a -q
+ docker rm -f 42ee1ea78bdf
42ee1ea78bdf
+ docker run -d -p 8888:8080 cijd
829e25f7bf0e32720f2cf292d48dc74aa3fef6e02271911ba6015c8421e5ee08Finished: SUCCESS

 

經過訪問  http://192.168.0.1:8080/CIJD 你能夠看到示例項目已經部署成功.

5、示例代碼.

    示例代碼地址: https://github.com/silvasong/CIJD ,若是不想本身新建項目能夠fork。

    另外介紹下dockerfile文件,瞭解docker都應該知道dockerfile是構建docker鏡像的關鍵.

FROM ubuntu:latest
MAINTAINER Silva Song "silva.song@aliyun.com"

#安裝JDK
RUN apt-get update
RUN apt-get install -y openjdk-7-jdk && apt-get install -y wget

#安裝tomcat
RUN mkdir /var/tmp/tomcat
RUN wget -P /var/tmp/tomcat http://mirrors.noc.im/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz
RUN tar xzf /var/tmp/tomcat/apache-tomcat-8.0.33.tar.gz -C /var/tmp/tomcat
RUN rm -rf /var/tmp/tomcat/apache-tomcat-8.0.33.tar.gz 

#安裝maven
RUN mkdir /var/tmp/maven
RUN wget -P /var/tmp/maven http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
RUN tar xzf /var/tmp/maven/apache-maven-3.3.9-bin.tar.gz -C /var/tmp/maven
RUN rm -rf /var/tmp/maven/apache-maven-3.3.9-bin.tar.gz
#設置maven環境變量
ENV MAVEN_HOME=/var/tmp/maven/apache-maven-3.3.9
ENV PATH=$MAVEN_HOME/bin:$PATH


#打包示例項目並拷貝到tomcat webapps目錄
RUN mkdir /var/tmp/webapp
ADD ./ /var/tmp/webapp
RUN cd /var/tmp/webapp && mvn package && cp /var/tmp/webapp/target/CIJD.war /var/tmp/tomcat/apache-tomcat-8.0.33/webapps

EXPOSE 8080
#啓動tomcat服務器
CMD ["./var/tmp/tomcat/apache-tomcat-8.0.33/bin/catalina.sh","run"]
相關文章
相關標籤/搜索