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

docker+jenkins+gitee配置持續(xù)集成部署方式

 更新時(shí)間:2023年09月05日 08:49:20   作者:wangJiaLun-china  
這篇文章主要介紹了docker+jenkins+gitee配置持續(xù)集成部署方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

基于docker安裝jenkins

創(chuàng)建本地映射jenkins資源目錄

mkdir -p /home/docker/jenkins

這邊配置的是外網(wǎng)訪問9401端口

docker run \
  -u root \
  -d \
  -p 9401:8080 \
  --restart always \
  --privileged=true \
  -v /home/docker/jenkins:/var/jenkins_home \
  --name jenkins \
  jenkinsci/blueocean

如果沒有jenkins鏡像會自動下載,我下載的鏡像是

執(zhí)行成功后訪問如圖

使用root用戶進(jìn)入容器

docker exec -it --user root jenkins /bin/bash

查看復(fù)制密碼

cat /var/jenkins_home/secrets/initialAdminPassword

安裝推薦的插件后等待安裝成功

創(chuàng)建用戶,下一步。安裝結(jié)束

配置 jenkins

進(jìn)入jenkins頁面找到,全局配置工具

配置jdk

使用root用戶進(jìn)入容器

docker exec -it --user root jenkins /bin/bash

查看容器內(nèi)jdk路徑,去除網(wǎng)頁勾選自動安裝。

填入到配置中

echo $JAVA_HOME

配置 maven

安裝maven插件

?

?

配置 gitee

參照前面安裝maven插件步驟,安裝 gitee插件、publish over ssh插件

進(jìn)入系統(tǒng)配置配置gitee

鏈接名隨便填,jenkens內(nèi)唯一不能重復(fù)

訪問碼云私人令牌獲取地址

點(diǎn)擊測試鏈接,成功如下圖。如果Error參照下面的異常記錄中,額外安裝Jersey 2 API這個插件

建立任務(wù)

構(gòu)建一個maven任務(wù)

選擇gitee鏈接,配置源碼管理中倉庫地址,Credentials中添加輸入碼云賬號密碼

配置gitee webhook

生成webhook密碼去gitee中配置webhook

項(xiàng)目打包配置,配置完成之后應(yīng)用保存。

持續(xù)部署

首次先立即構(gòu)建一次,通過日志查看找到docker內(nèi)jenkins生成jar包的目錄

如果構(gòu)建不成功,缺少包的話參照下面異常記錄配置maven中setting文件

配置腳本

#!/bin/bash
# target打包生成jar包的目錄
JAR_PATH=/var/jenkins_home/workspace/sc-yadong-api/yadong-server-api/yadong-server-api-wx/target/
# 殺掉之前進(jìn)程
ps -ef | grep "yadong-server-api-wx" | grep -v grep | awk '{print $2}' | xargs kill -9 
# 啟動
cd $JAR_PATH
nohup java -jar -Dspring.profiles.active=prod yadong-server-api-wx-0.0.1-exec.jar  &

?

異常記錄

Gitee鏈接失敗

查了系統(tǒng)日志是找不到類

Caught unhandled exception with ID 808d1ade-eb27-42d4-a033-924318d6c7bc
java.lang.ClassNotFoundException: javax.ws.rs.ext.MessageBodyReader
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1402)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1357)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1112)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Caused: java.lang.NoClassDefFoundError: javax/ws/rs/ext/MessageBodyReader
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1172)
	at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1340)
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1392)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1357)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1112)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1172)
	at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1340)
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1392)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1357)
	at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
	at hudson.ClassicPluginStrategy$DependencyClassLoader.findClass(ClassicPluginStrategy.java:650)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1421)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1108)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.gitee.jenkins.gitee.api.impl.ResteasyGiteeClientBuilder.buildClient(ResteasyGiteeClientBuilder.java:115)
	at com.gitee.jenkins.gitee.api.impl.ResteasyGiteeClientBuilder.buildClient(ResteasyGiteeClientBuilder.java:81)
	at com.gitee.jenkins.connection.GiteeConnection.getClient(GiteeConnection.java:116)
	at com.gitee.jenkins.connection.GiteeConnectionConfig.doTestConnection(GiteeConnectionConfig.java:145)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:398)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:410)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:208)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:141)
	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)

安裝這個Jersey 2 API插件,安裝完成后重啟Jenkins

修改Jenkins的時(shí)間錯誤

使用root用戶進(jìn)入容器

docker exec -it --user root jenkins /bin/bash

檢查時(shí)區(qū)

cat /etc/timezone

修改時(shí)區(qū)為 Asia/Shanghai

echo Asia/Shanghai > /etc/timezone

構(gòu)建失敗,配置maven中setting文件

安裝插件后重啟,進(jìn)入系統(tǒng)管理中進(jìn)入Managed files,添加配置setting文件

項(xiàng)目build中選擇前面創(chuàng)建的setting文件

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于docker可視化管理工具-DockerUI的安裝

    關(guān)于docker可視化管理工具-DockerUI的安裝

    這篇文章主要介紹了關(guān)于docker可視化管理工具-DockerUI的安裝,DockerUI是一款開源強(qiáng)大的輕量級Docker管理工具,還不了解這款工具的朋友一起來看看吧
    2023-03-03
  • Docker如何制作自己鏡像并上傳dockerhub

    Docker如何制作自己鏡像并上傳dockerhub

    這篇文章主要介紹了Docker如何制作自己鏡像并上傳dockerhub,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 如何使用Docker快速搭建服務(wù)器環(huán)境

    如何使用Docker快速搭建服務(wù)器環(huán)境

    這篇文章主要介紹了使用Docker快速搭建服務(wù)器環(huán)境的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 解決使用Docker Compose管理容器的問題

    解決使用Docker Compose管理容器的問題

    在Docker Compose中,根據(jù)一個配置文件,將所有與應(yīng)用系統(tǒng)相關(guān)的應(yīng)用和對應(yīng)的容器進(jìn)行配置,再根據(jù)Docker Compose提供的命令進(jìn)行啟動,就可以解決上面說的多容器之間的復(fù)雜問題,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • 深入解析docker文件分層原理

    深入解析docker文件分層原理

    這篇文章主要介紹了docker文件分層,本文使用一個docker container示例,講述docker的文件分層的一些原理,需要的朋友可以參考下
    2022-04-04
  • 在Linux系統(tǒng)中使用Dockerfile創(chuàng)建Docker的完整步驟

    在Linux系統(tǒng)中使用Dockerfile創(chuàng)建Docker的完整步驟

    Dockerfile是Docker用來構(gòu)建鏡像的文本文件,包含自定義的指令和格式,這篇文章主要介紹了在Linux系統(tǒng)中使用Dockerfile創(chuàng)建Docker的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法

    Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法

    本文主要介紹了Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • docker拉取烏班圖并且ssh連接方式

    docker拉取烏班圖并且ssh連接方式

    文章介紹了如何在Docker中拉取Ubuntu鏡像并使用SSH連接到容器,首先,確保容器正在運(yùn)行,然后使用`docker exec`進(jìn)入容器,接著,安裝并配置OpenSSH服務(wù)器,設(shè)置root密碼,并配置SSH允許root登錄,最后,映射端口以便從宿主機(jī)連接到容器的SSH服務(wù)
    2025-03-03
  • 備份Docker容器中的PostgreSQL數(shù)據(jù)的圖文實(shí)操教程

    備份Docker容器中的PostgreSQL數(shù)據(jù)的圖文實(shí)操教程

    現(xiàn)在docker容器很方便,可以一鍵部署項(xiàng)目,但是方便部署的同時(shí),也給運(yùn)維帶來了麻煩,docker中的pgsql數(shù)據(jù),如何進(jìn)行備份呢,本文小編給大家就介紹了備份Docker容器中的PostgreSQL數(shù)據(jù)的圖文實(shí)操教程,需要的朋友可以參考下
    2024-09-09

最新評論

闸北区| 凤翔县| 定州市| 东阳市| 浦城县| 健康| 荔浦县| 德令哈市| 烟台市| 浮梁县| 桐庐县| 宜君县| 南澳县| 清徐县| 彭阳县| 涡阳县| 庐江县| 梁河县| 太湖县| 大荔县| 泰顺县| 洛隆县| 桃源县| 长武县| 文成县| 西昌市| 乌海市| 平顶山市| 怀远县| 运城市| 泉州市| 大渡口区| 乌拉特中旗| 灵山县| 彭阳县| 如皋市| 阳信县| 商城县| 樟树市| 厦门市| 绥滨县|