1 Jenkins是什么玩意
Jenkins菩佑,原名Hudson凝化,2011年改為現(xiàn)在的名字搓劫,它 是一個開源的實現(xiàn)持續(xù)集成的 軟件工具枪向。官方網(wǎng)站:http://jenkins-ci.org/秘蛔。
Jenkins 能實施監(jiān)控集成中存在的錯誤,提供詳細的日志文件和提醒功能蛙埂,還能用圖 表的形式形象地展示項目構建的趨勢和穩(wěn)定性绣的。
特點:
- 易安裝:僅僅一個 java -jar jenkins.war欲账,從官網(wǎng)下載該文件后屡江,直接運行,無需額 外的安裝赛不,更無需安裝數(shù)據(jù)庫惩嘉;
- 易配置:提供友好的GUI配置界面;
- 變更支持:Jenkins能從代碼倉庫(Subversion/CVS)中獲取并產(chǎn)生代碼更新列表并 輸出到編譯輸出信息中俄删;
- 支持永久鏈接:用戶是通過web來訪問Jenkins的宏怔,而這些web頁面的鏈接地址都是 永久鏈接地址,因此臊诊,你可以在各種文檔中直接使用該鏈接;
- 集成E-Mail/RSS/IM:當完成一次集成時斜脂,可通過這些工具實時告訴你集成結果(據(jù) 我所知抓艳,構建一次集成需要花費一定時間,有了這個功能帚戳,你就可以在等待結果過程 中玷或,干別的事情);
- JUnit/TestNG測試報告:也就是用以圖表等形式提供詳細的測試報表功能片任;
- 支持分布式構建:Jenkins可以把集成構建等工作分發(fā)到多臺計算機中完成偏友;
- 文件指紋信息:Jenkins會保存哪次集成構建產(chǎn)生了哪些jars文件,哪一次集成構建使 用了哪個版本的jars文件等構建記錄对供;
- 支持第三方插件:使得 Jenkins 變得越來越強大
2 Jenkins安裝
1. 安裝Jenkins需要先進行JDK安裝(在宿主機上而不是docker中 )(如果宿主機里有省略此步)
(1)將jdk-8u171-linux-x64.rpm上傳至服務器(虛擬機)
(2)執(zhí)行安裝命令
rpm ‐ivh jdk‐8u171‐linux‐x64.rpm
2. Jenkins安裝與啟動
(1)下載jenkins
wget https://pkg.jenkins.io/redhat/jenkins‐2.83‐1.1.noarch.rpm
(2)安裝jenkins
rpm ‐ivh jenkins‐2.83‐1.1.noarch.rpm
(3)配置jenkins
vi /etc/sysconfig/jenkins
修改用戶和端口
JENKINS_USER="root"
JENKINS_PORT="8888"
(4)啟動服務
systemctl start jenkins
(5)訪問鏈接 http://192.168.184.135:8888
從/var/lib/jenkins/secrets/initialAdminPassword中獲取初始密碼串
3 Jenkins插件安裝
1 安裝Maven插件
(1)點擊左側的“系統(tǒng)管理”菜單 ,然后點擊(2)選擇“可選插件”選項卡命爬,搜索maven趟咆,在列表中選擇Maven Integration 哟忍,點擊“直 接安裝”按鈕
看到如下圖時拗慨,表示已經(jīng)完成
2 安裝Git插件
步驟如上圖,搜索git4 全局工具配置
1 安裝Maven與本地倉庫
(1)將Maven壓縮包上傳至服務器(虛擬機)
(2)解壓
tar zxvf apache‐maven‐3.3.9‐bin.tar.gz
(3)移動目錄
mv apache‐maven‐3.3.9 /usr/local/maven
(4)編輯setting.xml配置文件 vi /usr/local/maven/conf/settings.xml 京景,配置本地倉 庫目錄,內容如下
<localRepository>/usr/local/repository</localRepository>
(5)將開發(fā)環(huán)境的本地倉庫上傳至服務器(虛擬機)并移動到/usr/local/repository
mv reponsitory_boot /usr/local/repository
執(zhí)行此步是為了以后在打包的時候不必重新下載窿冯,縮短打包的時間。
(6)編輯setting.xml配置文件 vi /usr/local/maven/conf/settings.xml
<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
2 全局工具配置
選擇系統(tǒng)管理确徙,全局工具配置
設置javahome為 /usr/java/jdk1.8.0_171-amd64
(2)Git配置 (本地已經(jīng)安裝了Git軟件)
(3)Maven配置
5 持續(xù)集成
1 創(chuàng)建任務
(1)回到首頁醒串,點擊新建按鈕 .如下圖执桌,輸入名稱,選擇創(chuàng)建一個Maven項目厦凤,點擊OK(2)源碼管理鼻吮,選擇Git
(3)Build
命令:
clean package docker:build ‐DpushImage
用于清除、打包较鼓,構建docker鏡像 最后點擊“保存”按鈕
2 執(zhí)行任務
返回首頁椎木,在列表中找到我們剛才創(chuàng)建的任務
點擊右邊的綠色箭頭按鈕,即可執(zhí)行此任務.
點擊下面正在執(zhí)行的任務
可以看到實時輸出的日志
這就是鏡像做好了在上傳博烂,如果你之前沒有將你的本地倉庫上傳到服務器香椎,會首先下載 依賴的jar包,接下來就是漫長的等待了禽篱。
看到下面的結果就表示你已經(jīng)成功了
首戰(zhàn)告捷畜伐!哈哈,興奮不躺率?返回首頁 看到列表
我們在瀏覽器看一下docker私有倉庫
http://192.168.184.135:5000/v2/_catalog ,會看到tensquare_eureka已經(jīng)上傳成功了
{"repositories":["jdk1.8","tensquare_eureka"]}
按此方法完成其它微服務的構建
3 完成配置中心的持續(xù)集成
(1)配置中心的pom.xml中玛界,添加docker插件
<build><!--這個build使得項目可以打包到linux的docker里-->
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--‐ docker的maven插件,官網(wǎng):https://github.com/spotify/docker‐maven‐plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>192.1XX.1XX.1XX:5000/${project.artifactId}:${project.version}</imageName>
<!--<groupId>com.tensquare</groupId> version>1.0-SNAPSHOT</version>-->
<baseImage>jdk1.8</baseImage>
<entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint><!--以我們起的finalName打個jar包-->
<resources><!--指定打好的jar包去哪里,最終變成app.jar-->
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.1XX.1XX.131:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
(2)提交代碼到git
(3)按照同樣的方法悼吱,完成配置中心的持續(xù)集成慎框。完成后會看到私有倉庫中添加了 zyh_config
{"repositories":["jdk1.8","zyh_config","zyh_eureka"]}
(4)創(chuàng)建rabbitMQ容器
docker run ‐di ‐‐name=zyh_rabbitmq ‐p 5671:5617 ‐p 5672:5672 ‐p 4369:4369 ‐p 15671:15671 ‐p 15672:15672 ‐p 25672:25672 rabbitmq:management
(5)創(chuàng)建容器:
docker run ‐di ‐‐name=config ‐p 12000:12000 192.168.184.135:5000/zyh_config:1.0‐SNAPSHOT
4 完成基礎微服務的持續(xù)集成
(1)代碼中添加docker插件 ,更改配置文件中的配置中心的地址 為http://192.168.184.135:12000
(2)提交代碼到git
(3)按照同樣的方式構建基礎微服務
(4)準備數(shù)據(jù)庫環(huán)境
docker run ‐di ‐‐name=mysql ‐p 3306:3306 ‐e MYSQL_ROOT_PASSWORD=123456 centos/mysql‐57‐centos7
(5)創(chuàng)建基礎微服務容器
docker run ‐di ‐‐name=base ‐p 9001:9001 192.168.184.135:5000/zyh_base:1.0‐SNAPSHOT
5 完成微服務網(wǎng)關的構建
按照同樣的步驟完成微服務網(wǎng)關zyh_web的構建
6 完成其它微服務的構建