0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于Jenkins+docker+springboot一鍵自動(dòng)部署項(xiàng)目

jf_TEuU2tls ? 來(lái)源:浩道linux ? 2023-05-16 08:59 ? 次閱讀

本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。

環(huán)境:centos7+git(gitee)

簡(jiǎn)述實(shí)現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實(shí)現(xiàn)項(xiàng)目自動(dòng)拉取打包并運(yùn)行。

安裝docker

docker 安裝社區(qū)版本CE

確保 yum 包更新到最新。

yumupdate

卸載舊版本(如果安裝過(guò)舊版本的話)

yumremovedockerdocker-commondocker-selinuxdocker-engine

安裝需要的軟件包

yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2

設(shè)置yum源

yum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo

安裝docker

yuminstalldocker-ce#由于repo中默認(rèn)只開(kāi)啟stable倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)定版17.12.0
yuminstall<自己的版本>#例如:sudo yum install docker-ce-17.12.0.ce

啟動(dòng)和開(kāi)機(jī)啟動(dòng)

systemctlstartdocker
systemctlenabledocker

驗(yàn)證安裝是否成功

dockerversion

安裝Jenkins

Jenkins中文官網(wǎng):https://www.jenkins.io/zh/

安裝J enkins

docker 安裝一切都是那么簡(jiǎn)單,注意檢查8080是否已經(jīng)占用!如果占用修改端口

dockerrun--namejenkins-uroot--rm-d-p8080:8080-p50000:50000-v/var/jenkins_home:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sockjenkinsci/blueocean

如果沒(méi)改端口號(hào)的話

安裝完成后訪問(wèn)地址->http://{部署Jenkins所在服務(wù)IP}:8080

此處會(huì)有幾分鐘的等待時(shí)間。

初始化 Jenkins

詳情見(jiàn)官網(wǎng)教程->https://www.jenkins.io

解鎖 Jenkins

進(jìn)入Jenkins容器:docker exec -it {Jenkins容器名} bash

例如docker exec -it jenkins bash

查看密碼:cat /var/lib/jenkins/secrets/initialAdminPassword

復(fù)制密碼到輸入框里面a305fa3a-f37b-11ed-90ce-dac502259ad0.png

安裝插件

選擇第一個(gè):安裝推薦的插件a31fc7c6-f37b-11ed-90ce-dac502259ad0.png

創(chuàng)建管理員用戶

此賬戶一定要記住哦

系統(tǒng)配置

安裝需要插件

進(jìn)入【首頁(yè)】–【系統(tǒng)管理】–【插件管理】–【可選插件】

搜索以下需要安裝的插件,點(diǎn)擊安裝即可。a342edbe-f37b-11ed-90ce-dac502259ad0.png

安裝Maven Integration

安裝Publish Over SSH(如果不需要遠(yuǎn)程推送,不用安裝)

如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)

配置Maven

進(jìn)入【首頁(yè)】–【系統(tǒng)管理】–【全局配置】,拉到最下面maven–maven安裝

a377bf4e-f37b-11ed-90ce-dac502259ad0.png

創(chuàng)建任務(wù)

新建任務(wù)

點(diǎn)擊【新建任務(wù)】,輸入任務(wù)名稱,點(diǎn)擊構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目a3923c70-f37b-11ed-90ce-dac502259ad0.png

源碼管理

點(diǎn)擊【源碼管理】–【Git】,輸入倉(cāng)庫(kù)地址,添加憑證,選擇好憑證即可。a3b176a8-f37b-11ed-90ce-dac502259ad0.pnga3d1b882-f37b-11ed-90ce-dac502259ad0.png

構(gòu)建觸發(fā)器

點(diǎn)擊【構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層Maven目標(biāo)】–【填寫(xiě)配置】–【保存】

a40868a0-f37b-11ed-90ce-dac502259ad0.png

此處命令只是install,看是否能生成jar包

cleaninstall-Dmaven.test.skip=true
a42ca652-f37b-11ed-90ce-dac502259ad0.png

保存

點(diǎn)擊【保存】按鈕即可

測(cè)試

該功能測(cè)試是否能正常打包

構(gòu)建

點(diǎn)擊構(gòu)建按鈕a452a55a-f37b-11ed-90ce-dac502259ad0.png

查看日志

點(diǎn)擊正在構(gòu)建的任務(wù),或者點(diǎn)擊任務(wù)名稱,進(jìn)入詳情頁(yè)面,查看控制臺(tái)輸出,看是否能成功打成jar包。

該處日志第一次可能下載依賴jar包失敗,再次點(diǎn)擊構(gòu)建即可成功。a4654732-f37b-11ed-90ce-dac502259ad0.pnga47e9bba-f37b-11ed-90ce-dac502259ad0.png

查看項(xiàng)目位置

cd/var/jenkins_home/workspace

ll命令即可查看是否存在

運(yùn)行項(xiàng)目

因?yàn)槲覀冺?xiàng)目和jenkins在同一臺(tái)服務(wù)器,所以我們用shell腳本運(yùn)行項(xiàng)目,原理既是通過(guò)dockerfile 打包鏡像,然后docker運(yùn)行即可。

Dockerfile

在springboot項(xiàng)目根目錄新建一個(gè)名為Dockerfile的文件,注意沒(méi)有后綴名,其內(nèi)容如下:(大致就是使用jdk8,把jar包添加到docker然后運(yùn)行prd配置文件)

FROMjdk:8
VOLUME/tmp
ADDtarget/zx-order-0.0.1-SNAPSHOT.jarapp.jar
EXPOSE8888
ENTRYPOINT["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

修改jenkins任務(wù)配置

a49cbb18-f37b-11ed-90ce-dac502259ad0.png

配置如下:

a4bbc544-f37b-11ed-90ce-dac502259ad0.png

-t:指定新鏡像名
.:表示Dockfile在當(dāng)前路徑
cd/var/jenkins_home/workspace/zx-order-api
dockerstopzx-order||true
dockerrmzx-order||true
dockerrmizx-order||true
dockerbuild-tzx-order.
dockerrun-d-p8888:8888--namezx-orderzx-order:latest

備注:

我上圖用了docker logs -f 是為了方便看日志,真實(shí)不要用,因?yàn)闀?huì)一直等待日志,構(gòu)建任務(wù)會(huì)失敗

加|| true 是如果命令執(zhí)行失敗也會(huì)繼續(xù)實(shí)行,為了防止第一次沒(méi)有該鏡像報(bào)錯(cuò)

保存

點(diǎn)擊保存即可

構(gòu)建

a4e0c100-f37b-11ed-90ce-dac502259ad0.png查看jenkins控制臺(tái)輸出,輸出如下,證明成功!

驗(yàn)證

dockerps查看是否有自己的容器
dockerlogs自己的容器名查看日志是否正確

瀏覽器訪問(wèn)項(xiàng)目試一試

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    967

    瀏覽量

    32085
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    390

    瀏覽量

    14879
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    463

    瀏覽量

    11863
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    183

原文標(biāo)題:Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目

文章出處:【微信號(hào):浩道linux,微信公眾號(hào):浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Jenkins遠(yuǎn)程部署Linux服務(wù)器的過(guò)程

    1、Jenkins遠(yuǎn)程部署Linux服務(wù)器  之前在Jenkins上也有些使用經(jīng)驗(yàn)了,但是都是使用團(tuán)隊(duì)配置好的Jenkins,自己只需要管
    發(fā)表于 11-18 18:12

    如何在持續(xù)集成開(kāi)發(fā)流程中使用JenkinsDocker

    工作提供了致和自動(dòng)化的基礎(chǔ)。 我們將研究指南中的以下主題: ?在自定義Docker容器中的虛擬Arm Cortex-M4系統(tǒng)上運(yùn)行“你好世界”應(yīng)用程序。 ?實(shí)施測(cè)試以驗(yàn)證應(yīng)用程序的完成情況。 ?配置
    發(fā)表于 08-02 10:50

    Jenkins管理的持續(xù)集成境引入Docker來(lái)優(yōu)化資源配置

    Jenkins是被廣泛應(yīng)用的持續(xù)集成、自動(dòng)化測(cè)試、持續(xù)部署的框架,甚至有些項(xiàng)目組順便將其用來(lái)做流程管理的工具。根據(jù)任務(wù)的多寡,Jenkins
    發(fā)表于 09-26 11:42 ?0次下載
    在<b class='flag-5'>Jenkins</b>管理的持續(xù)集成境引入<b class='flag-5'>Docker</b>來(lái)優(yōu)化資源配置

    jenkins有什么用_jenkins如何自動(dòng)部署

    Jenkins個(gè)開(kāi)源的、提供友好操作界面的持續(xù)集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持續(xù)、自動(dòng)的構(gòu)建/測(cè)試軟件項(xiàng)目、監(jiān)控外部任務(wù)的運(yùn)行(這個(gè)比較抽象
    發(fā)表于 12-20 19:06 ?3.7w次閱讀
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自動(dòng)</b><b class='flag-5'>部署</b>

    jenkins自動(dòng)部署

    本文詳細(xì)介紹Jenkins的簡(jiǎn)單使用—jenkins自動(dòng)部署。
    的頭像 發(fā)表于 02-06 11:27 ?4697次閱讀
    <b class='flag-5'>jenkins</b><b class='flag-5'>自動(dòng)</b>化<b class='flag-5'>部署</b>

    Jenkins詳細(xì)安裝與構(gòu)建部署使用教程

    本文詳細(xì)介紹了Jenkins安裝與構(gòu)建部署使用教程。Jenkins個(gè)開(kāi)源軟件項(xiàng)目,旨在提供
    發(fā)表于 02-06 13:47 ?1765次閱讀
    <b class='flag-5'>Jenkins</b>詳細(xì)安裝與構(gòu)建<b class='flag-5'>部署</b>使用教程

    docker compose一鍵打包部署項(xiàng)目的實(shí)踐

    【導(dǎo)讀】本文介紹了 docker compose 一鍵打包部署項(xiàng)目的實(shí)踐。
    的頭像 發(fā)表于 08-30 11:03 ?1568次閱讀

    Jenkins+docker+springboot一鍵自動(dòng)部署項(xiàng)目

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 09-14 09:30 ?1601次閱讀

    Jenkins+Docker一鍵自動(dòng)部署SpringBoot最簡(jiǎn)流程

    簡(jiǎn)述實(shí)現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實(shí)現(xiàn)項(xiàng)目自動(dòng)拉取打包并運(yùn)
    的頭像 發(fā)表于 11-23 10:16 ?1389次閱讀

    Jenkins+Docker一鍵自動(dòng)部署SpringBoot項(xiàng)目

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 12-14 10:04 ?924次閱讀

    Jenkins+Docker實(shí)現(xiàn)一鍵自動(dòng)部署項(xiàng)目!

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 01-06 15:36 ?1269次閱讀

    Jenkins+Docker一鍵自動(dòng)部署SpringBoot應(yīng)用最精簡(jiǎn)流程

    簡(jiǎn)述實(shí)現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實(shí)現(xiàn)項(xiàng)目自動(dòng)拉取打包并運(yùn)
    的頭像 發(fā)表于 11-06 16:27 ?2338次閱讀
    <b class='flag-5'>Jenkins+Docker</b><b class='flag-5'>一鍵</b><b class='flag-5'>自動(dòng)</b>化<b class='flag-5'>部署</b><b class='flag-5'>SpringBoot</b>應(yīng)用最精簡(jiǎn)流程

    寶塔面板一鍵免費(fèi)部署LobeChat聊天機(jī)器人開(kāi)發(fā)自己私有的ChatGPT

    寶塔面板部署一鍵免費(fèi)部署LobeChat自己的私有聊天機(jī)器人 支持市場(chǎng)主流AId api調(diào)用; ?寶塔面板Docker 部署LobeChat
    的頭像 發(fā)表于 06-26 17:03 ?1208次閱讀
    寶塔面板<b class='flag-5'>一鍵</b>免費(fèi)<b class='flag-5'>部署</b>LobeChat聊天機(jī)器人開(kāi)發(fā)自己私有的ChatGPT

    寶塔面板Docker一鍵安裝:部署GPTAcademic,開(kāi)發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    人工智能的浪潮中,GPT模型因其強(qiáng)大的自然語(yǔ)言處理能力備受矚目。然而,為了更好地應(yīng)用于學(xué)術(shù)領(lǐng)域,許多人希望能部署自己私有的GPT學(xué)術(shù)優(yōu)化工具。本文將詳細(xì)介紹如何通過(guò)寶塔面板和Docker一鍵安裝
    的頭像 發(fā)表于 07-02 11:58 ?2616次閱讀
    寶塔面板<b class='flag-5'>Docker</b><b class='flag-5'>一鍵</b>安裝:<b class='flag-5'>部署</b>GPTAcademic,開(kāi)發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    Flexus X 實(shí)例 Docker+Jenkins+gitee 實(shí)現(xiàn) CICD 自動(dòng)部署 - 解放你的雙手~

    前沿解決方案,為您的 C# Web API 項(xiàng)目注入前所未有的敏捷動(dòng)力。通過(guò)集成 Docker 容器化技術(shù)、Jenkins 持續(xù)集成/持續(xù)部署
    的頭像 發(fā)表于 12-26 18:19 ?169次閱讀
    Flexus X 實(shí)例 <b class='flag-5'>Docker+Jenkins</b>+gitee 實(shí)現(xiàn) CICD <b class='flag-5'>自動(dòng)</b>化<b class='flag-5'>部署</b> - 解放你的雙手~