最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn)

 更新時(shí)間:2022年08月03日 08:49:25   作者:CarinaYang  
本文主要介紹了使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

老板給了兩臺(tái)服務(wù)器,一臺(tái)windows用來(lái)打包,一臺(tái)linux用于構(gòu)建鏡像 + 部署,于是有了這篇筆記

安裝Jenkins

下載地址:https://www.jenkins.io/download/

找到對(duì)應(yīng)版本下載安裝就行,裝好之后在瀏覽器輸入localhost:port(port是你安裝時(shí)設(shè)置的端口),看到如下頁(yè)面:

就說(shuō)明裝好了,然后用安裝的時(shí)候設(shè)置好的賬號(hào)密碼登錄

配置

1、配置工具

進(jìn)入頁(yè)面后首先是添加maven的配置文件:

maven配置文件

然后配置工具:

jdk

git

maven

配置好之后應(yīng)用保存

2、配置Publish over SSH

這一步是為了把文件推送到遠(yuǎn)程服務(wù)器,不需要的可以跳過(guò)

首先去插件商店安裝publish over ssh

進(jìn)入之后搜索publish over ssh,然后安裝

安裝完成后進(jìn)入系統(tǒng)配置,拉到最下面,就可以看到publish over ssh的配置了

配置完之后同樣應(yīng)用保存

創(chuàng)建流水線打包

配置自動(dòng)觸發(fā)的條件,不勾就是手動(dòng)觸發(fā)咯

然后就是最重要的流水線語(yǔ)法了

可以點(diǎn)擊這里幫助生成

下拉框那里,如果是linux命令選擇sh:xxx
window命令選擇bat:xxx
git命令選擇git:xxx
publishSSH選擇SSH Publishers:XXX

以下是我流水線示例:

pipeline {
    agent any 
    stages {
        stage('拉取代碼') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'xxx', url: 'http://XXX.git']]])
                echo '拉取代碼成功'
            }
        }
        stage('編譯構(gòu)建') {
            steps {
                //輸出當(dāng)前jenkins的工作目錄
                echo "${env.WORKSPACE}" 
                //僅打包file-service模塊
                bat 'mvn clean package -pl file-service -am'
                echo '編譯成功'
            }
        }
        stage('推送jar包') {
            steps {
                sshPublisher(publishers: 
                    [sshPublisherDesc(
                        configName: 'ssh253', 
                        transfers: [sshTransfer(
                            cleanRemote: false, 
                            excludes: '', 
                            execCommand: '''cd local/file
                                        ./start.sh''', 
                            execTimeout: 120000, 
                            flatten: false, 
                            makeEmptyDirs: false, 
                            noDefaultExcludes: false, 
                            patternSeparator: '[, ]+', 
                            remoteDirectory: 'file', 
                            remoteDirectorySDF: false, 
                            removePrefix: 'file-service\\target\\', 
                            sourceFiles: 'file-service\\target\\file-service-1.0-SNAPSHOT.jar'
                        )], 
                        usePromotionTimestamp: false, 
                        useWorkspaceInPromotion: false, 
                        verbose: false
                    )])
            }
        }
    }
}

1、stage表示流水線每一步的名字,執(zhí)行之后是這個(gè)樣子:

2、拉取代碼
credentialsId:你配置的憑證id
配置憑證

查看憑證

url:你的git項(xiàng)目地址

3、編譯構(gòu)建

使用maven進(jìn)行打包的命令而已

4、推送jar包

我是用流水線語(yǔ)法生成器生成的

Source files: 要發(fā)送的源文件位置,表示當(dāng)前工作空間下的file-service\target\file-service-1.0-SNAPSHOT.jar包,\是windows上的路徑寫(xiě)法,如果要發(fā)送整個(gè)文件,則使用/* *
Remove prefix: 去除的前綴,表示只要文件不要目錄,如果不去除,那么文件復(fù)制到服務(wù)器上后會(huì)生成file-service\target\目錄
Remote directory: 遠(yuǎn)程機(jī)的路徑,這個(gè)路徑是以系統(tǒng)配置publish over ssh的Remote directory為當(dāng)前文件夾的相對(duì)路徑,開(kāi)頭不寫(xiě)/
Exec command文件推送完之后的命令

以上,流水線就做好了,點(diǎn)擊“build Now”就可以打包并且推送到服務(wù)器對(duì)應(yīng)位置上了

構(gòu)建鏡像

現(xiàn)在jar包已經(jīng)有了,并且到了它該在的位置,需要來(lái)構(gòu)建鏡像并啟動(dòng)
安裝docker
使用命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者:curl -sSL https://get.daocloud.io/docker | sh

編寫(xiě)dockerfile
docker需要使用dockerfile來(lái)構(gòu)建鏡像,先新建一個(gè)dockerfile文件

#jdk基礎(chǔ)鏡像
FROM anapsix/alpine-java:8_server-jre_unlimited

#作者
MAINTAINER CarinaYang

#執(zhí)行命令,主要用來(lái)安裝相關(guān)的軟件
#RUN 

#添加文件
ADD admin-service-1.0-SNAPSHOT.jar /usr/local
#使用外面的配置文件
ADD admin-service.yml /usr/local

#掛載目錄到容器
#VOLUME ["/data"]

#開(kāi)放端口
EXPOSE 9000

#啟動(dòng)時(shí)執(zhí)行的命令
CMD ["/bin/bash"]

ENV JAVA_OPTS="\
-Xms2048m -Xmx2048m -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M"

#啟動(dòng)時(shí)執(zhí)行的命令
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar -Dspring.config.location=/usr/local/admin-service.yml /usr/local/admin-service-1.0-SNAPSHOT.jar

構(gòu)建鏡像
這里我是直接使用腳本來(lái)寫(xiě)的,創(chuàng)建腳本start.sh

#!/bin/bash
# 定義應(yīng)用組名
group_name='springcloud'
# 定義應(yīng)用名稱
app_name='admin-service'
# 定義應(yīng)用版本
app_version='1.0-SNAPSHOT'
echo '----停止消息服務(wù) ----'
docker stop ${app_name}
echo '----刪除實(shí)例----'
docker rm ${app_name}
echo '----刪除舊鏡像----'
docker rmi ${group_name}/${app_name}:${app_version}
echo '----打包鏡像----'
# 打包編譯docker鏡像
docker build -t ${group_name}/${app_name}:${app_version} .
echo '----啟動(dòng)鏡像----'
docker run -itd -p 9000:9000 --restart=always  --name ${app_name}  ${group_name}/${app_name}:${app_version}
echo '----啟動(dòng)完成----'

docker run 里面的 --restart=always是為了開(kāi)機(jī)自啟動(dòng)設(shè)置的,因?yàn)榉?wù)器每天晚上要關(guān)機(jī),不需要可以不寫(xiě)
因?yàn)闆](méi)有部署鏡像倉(cāng)庫(kù)就直接啟動(dòng)鏡像了,如果有的話要推到鏡像倉(cāng)庫(kù)上去

啟動(dòng)腳本

./start.sh

當(dāng)然,可以直接加到j(luò)enkins流水線“推送jar包”步驟的execCommand中,這樣Jenkins推送jar包過(guò)來(lái)后就會(huì)自動(dòng)啟動(dòng)腳本了

到此這篇關(guān)于使用Jenkins+docker打包部署后端服務(wù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Jenkins docker打包部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解

    使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解

    這篇文章主要介紹了使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • docker for windonws之Windows 10 家庭中文版安裝clickhouse 22.3版本及配置過(guò)程

    docker for windonws之Windows 10 家庭中文版安裝cl

    這篇文章主要介紹了docker for windonws之Windows 10 家庭中文版安裝clickhouse 22.3版本及配置,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • docker可視化圖形工具portainer詳解

    docker可視化圖形工具portainer詳解

    Portainer 是一個(gè)可視化容器鏡像的圖形管理工具,利用 Portainer 可以輕松構(gòu)建,管理和維護(hù) Docker 環(huán)境,接下來(lái)通過(guò)本文給大家介紹docker可視化圖形工具portainer知識(shí),感興趣的朋友一起看看吧
    2021-11-11
  • Docker版的MySQL5.7升級(jí)到MySQL8.0.13,數(shù)據(jù)遷移

    Docker版的MySQL5.7升級(jí)到MySQL8.0.13,數(shù)據(jù)遷移

    這篇文章主要介紹了Docker版的MySQL5.7升級(jí)到MySQL8.0.13,數(shù)據(jù)遷移,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 解決docker報(bào)錯(cuò):docker:invalid?reference?format.

    解決docker報(bào)錯(cuò):docker:invalid?reference?format.

    在導(dǎo)入鏡像的時(shí)候出現(xiàn)問(wèn)題:invalid reference format,這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于解決docker報(bào)錯(cuò):docker:invalid?reference?format的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Docker 網(wǎng)絡(luò)工作原理詳解

    Docker 網(wǎng)絡(luò)工作原理詳解

    這篇文章主要介紹了Docker 網(wǎng)絡(luò)工作原理的相關(guān)資料,這里對(duì)Docker的網(wǎng)絡(luò)工作進(jìn)行了詳細(xì)介紹,需要的朋友可以參考下
    2016-11-11
  • Docker 部署 pSQL 服務(wù)器的詳細(xì)教程

    Docker 部署 pSQL 服務(wù)器的詳細(xì)教程

    本文詳細(xì)介紹了如何使用Edu郵箱申請(qǐng)Azure訂閱并開(kāi)通免費(fèi)VPS,以及在Ubuntu VPS上通過(guò)Docker部署pSQL服務(wù)器的方法,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • docker啟動(dòng)logstash失敗的問(wèn)題及解決(可能原因)

    docker啟動(dòng)logstash失敗的問(wèn)題及解決(可能原因)

    這篇文章主要介紹了docker啟動(dòng)logstash失敗的問(wèn)題及解決(可能原因),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker

    如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker

    這篇文章主要介紹了如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過(guò)程

    將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過(guò)程

    Docker容器使得應(yīng)用程序的部署和管理變得更加簡(jiǎn)單和高效,有時(shí),我們可能需要將一個(gè)運(yùn)行中的Docker容器打包,并在其他服務(wù)器上運(yùn)行,本文將詳細(xì)介紹如何實(shí)現(xiàn)這一過(guò)程,需要的朋友可以參考下
    2024-05-05

最新評(píng)論

镇康县| 温宿县| 东丰县| 铁岭市| 双鸭山市| 塔城市| 黄龙县| 门头沟区| 长垣县| 同德县| 满洲里市| 泽州县| 桦甸市| 绥芬河市| 乌拉特后旗| 罗源县| 新邵县| 新安县| 巫山县| 西林县| 韶关市| 宜宾县| 酒泉市| 萨嘎县| 仁化县| 克拉玛依市| 庆元县| 苍南县| 阿图什市| 芦山县| 定南县| 拜泉县| 精河县| 东平县| 石屏县| 永清县| 聂荣县| 东乌珠穆沁旗| 资中县| 泽库县| 墨竹工卡县|