a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

搭建Jenkins+SpringBoot+Docker的微服務(wù)持續(xù)集成框架

2024-06-28 16:03:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

近一、兩年,SPRingBoot和Docker可以說(shuō)非常的火熱啊,而早在2015年的時(shí)候我就弄過(guò)一下Docker,不過(guò)由于職位和跳槽等種種原因,2016年就很少搞了,不過(guò)現(xiàn)在再撿起來(lái)也是很容易的。而SpringBoot我也是最近才開(kāi)始學(xué)的,不知道有木有落伍哈。微服務(wù)概念的提出的同時(shí)也把這幾個(gè)技術(shù)帶到了高潮,現(xiàn)在就來(lái)實(shí)踐一把。

環(huán)境搭建

OS Debian 8.7Jenkins 2.32.2SpringBoot 1.5.1.RELEASEDocker 1.13.0Gitlab 8.16.4

其中Gitlab主要是用來(lái)存放代碼的倉(cāng)庫(kù)以及觸發(fā)構(gòu)建。關(guān)于這個(gè)怎么集成可以查看我先前寫(xiě)的一篇博文 Jenkins+Gitlab搭建CI持續(xù)集成架構(gòu)。

Jenkins、Gitlab的安裝在上面那篇博文中有說(shuō)明,Docker的安裝配置在我之前寫(xiě)的另一篇博文sonatype nexus 3搭建Docker私有倉(cāng)庫(kù)中也有說(shuō)到,這里就不過(guò)多介紹了。

SpringBoot項(xiàng)目骨架可以在官方網(wǎng)站上進(jìn)行下載:https://start.spring.io/ 這個(gè)也不多說(shuō)了。。。

項(xiàng)目

整個(gè)項(xiàng)目以一個(gè)springboot-jpa為示例,最后面會(huì)給出源碼,詳細(xì)的說(shuō)明可以參看源碼吧。 項(xiàng)目結(jié)構(gòu)如下: springboot-jpa

其中Dockerfile為構(gòu)建docker鏡像的腳本,在這里我使用的是自己制作的私服鏡像,如果要在公網(wǎng)上使用可以打開(kāi)注釋換一個(gè),關(guān)于Docker私服的搭建使用也可以參看我之前的那篇博文。 項(xiàng)目根目錄中的build.sh為打包構(gòu)建啟動(dòng)容器的腳本,在jenkins項(xiàng)目構(gòu)建步驟中可以直接執(zhí)行該腳本。

項(xiàng)目resources目錄中的schema.sql為啟動(dòng)應(yīng)用時(shí)初始化創(chuàng)建表結(jié)構(gòu)的文件,data.sql為填充數(shù)據(jù)表內(nèi)容的文件,這個(gè)僅為測(cè)試使用。SpringBoot會(huì)自動(dòng)調(diào)用這個(gè)2個(gè)文件的,我們不用管。

項(xiàng)目代碼很簡(jiǎn)單,好像也沒(méi)什么好說(shuō)的哈,數(shù)據(jù)庫(kù)源的配置都在application.properties文件中,如果要測(cè)試使用的話需要替換下數(shù)據(jù)庫(kù)源,其他的看下代碼就行了。

Jenkins配置

創(chuàng)建jenkins項(xiàng)目,輸入項(xiàng)目名,選擇自由風(fēng)格。配置需要注意的只有兩點(diǎn),一個(gè)是:源碼管理,二個(gè)是:構(gòu)建的步驟。

源碼管理

git-repo 我們這里使用的是Gitlab作為源碼管理,所以選擇Git,輸入遠(yuǎn)程倉(cāng)庫(kù)名和用戶認(rèn)證。這個(gè)沒(méi)有配置正確是無(wú)法從遠(yuǎn)程倉(cāng)庫(kù)下載源碼的,提示權(quán)限問(wèn)題。關(guān)于認(rèn)證的配置也請(qǐng)參看我之前的博文Jenkins子節(jié)點(diǎn)構(gòu)建配置,這里不做過(guò)多的詳細(xì)介紹了。

構(gòu)建

build 構(gòu)建步驟也很簡(jiǎn)單,直接執(zhí)行項(xiàng)目根目錄中的那個(gè)構(gòu)建腳本就行了。 這里需要注意的是環(huán)境變量問(wèn)題,我是將JDK和Maven等工具變量都寫(xiě)在/etc/profile文件中的,內(nèi)容很簡(jiǎn)單,在文件最后面添加以下內(nèi)容,這個(gè)根據(jù)不同的環(huán)境進(jìn)行配置即可:

# javaexport JAVA_HOME=/opt/jdk1.8.0_111export PATH=$JAVA_HOME/bin:$PATH # Mavenexport MAVEN_HOME=/opt/apache-maven-3.3.9export PATH=$PATH:$MAVEN_HOME/bin

這里需要注意:默認(rèn)Docker命令只能root用戶使用,jenkins用戶是沒(méi)有權(quán)限使用的,我們可以將jenkins用戶加入docker組中,然后再斷開(kāi)、注銷、連接就可以了。

將jenkins用戶添加進(jìn)docker組$ sudo gpasswd -a jenkins docker

push上傳

構(gòu)建完成后,還可以選擇push上傳鏡像,這個(gè)需要先登錄才行。代碼在build.sh構(gòu)建腳本中有,我這里使用的是私服,可以根據(jù)需要進(jìn)行修改。

后序

大概的步驟就這么些,實(shí)際公司內(nèi)操作可能沒(méi)這么簡(jiǎn)單,這里僅作為學(xué)習(xí)參考使用。源碼: https://github.com/lusyoe/springboot-jpa

參考文檔: https://spring.io/guides/gs/spring-boot-docker/


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲xxxxxx| 欧美日韩国产综合视频 | 欧美日本国产 | 久久精品久久久久 | 丝袜 亚洲 另类 欧美 综合 | 免费观看成人毛片 | 国产一区二区三区久久久久久久 | 欧美精品一区二区三区四区五区 | 91精品一区二区三区久久久久久 | 欧美日韩国产中文字幕 | 成人激情综合 | 午夜一本 | 热久久久 | 成人激情在线 | 国产精品美女久久久久久久久久久 | 国产91精选 | 色偷偷噜噜噜亚洲男人 | 精国产品一区二区三区 | 欧美黄色网络 | 国产精品久久一区性色av图片 | 午夜免费电影 | av免费在线观看网站 | 国产精品欧美三级在线观看 | 亚州av| 日韩一区二区在线视频 | 日韩欧美中文 | 日批免费视频 | 国产精品久久久久久久久免费 | 一区二区三区四区精品 | 欧美日韩国产精品一区 | 久久国产99| 久久99国产精品久久99大师 | 欧美高清视频一区二区三区 | 日日干日日操 | 亚洲精品在线免费 | 午夜噜噜噜 | 日韩成人一级片 | 国产一区二区自拍 | 夜夜av| 亚洲欧美另类久久久精品2019 | 成人午夜精品一区二区三区 |