欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

基于docker安裝jenkins

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

mkdir -p /home/docker/jenkins

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

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

如果沒(méi)有jenkins鏡像會(huì)自動(dòng)下載,我下載的鏡像是

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

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

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

查看復(fù)制密碼

cat /var/jenkins_home/secrets/initialAdminPassword

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

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

配置 jenkins

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

配置jdk

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

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

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

填入到配置中

echo $JAVA_HOME

配置 maven

安裝maven插件

?

?

配置 gitee

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

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

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

訪問(wèn)碼云私人令牌獲取地址

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

建立任務(wù)

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

選擇gitee鏈接,配置源碼管理中倉(cāng)庫(kù)地址,Credentials中添加輸入碼云賬號(hào)密碼

配置gitee webhook

生成webhook密碼去gitee中配置webhook

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

持續(xù)部署

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

如果構(gòu)建不成功,缺少包的話(huà)參照下面異常記錄配置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 
# 啟動(dòng)
cd $JAR_PATH
nohup java -jar -Dspring.profiles.active=prod yadong-server-api-wx-0.0.1-exec.jar  &

?

異常記錄

Gitee鏈接失敗

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

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)

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

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

使用root用戶(hù)進(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é)

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

相關(guān)文章

  • docker容器啟動(dòng)設(shè)置固定IP的實(shí)現(xiàn)

    docker容器啟動(dòng)設(shè)置固定IP的實(shí)現(xiàn)

    本文主要介紹了docker容器啟動(dòng)設(shè)置固定IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker-compose實(shí)現(xiàn)wireshark對(duì)linux主機(jī)進(jìn)行抓包

    docker-compose實(shí)現(xiàn)wireshark對(duì)linux主機(jī)進(jìn)行抓包

    這篇文章主要為大家介紹了docker-compose實(shí)現(xiàn)wireshark對(duì)linux主機(jī)進(jìn)行抓包腳本示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Docker圖形工具Portainer的具體使用

    Docker圖形工具Portainer的具體使用

    本文主要介紹了Docker圖形工具Portainer的具體使用,Portainer是一個(gè)開(kāi)源的輕量級(jí)管理UI,提供了一個(gè)直觀的圖形用戶(hù)界面,使得管理Docker容器變得更加容易,感興趣的可以了解一下
    2024-11-11
  • Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹

    Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹

    這篇文章主要介紹了Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的相關(guān)資料,文中介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-02-02
  • 使用Docker compose編排Laravel應(yīng)用的方法

    使用Docker compose編排Laravel應(yīng)用的方法

    本篇文章主要介紹了使用Docker compose編排Laravel應(yīng)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細(xì)介紹

    Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細(xì)介紹

    這篇文章主要介紹了 Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器詳細(xì)介紹的相關(guān)資料,這里對(duì)Docker 數(shù)據(jù)卷,數(shù)據(jù)卷容器的感念及相關(guān)操作進(jìn)行了介紹,需要的朋友可以參考下
    2016-11-11
  • docker 搭建Mysql集群的方法示例

    docker 搭建Mysql集群的方法示例

    這篇文章主要介紹了docker 搭建Mysql集群的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析

    Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析

    這篇文章主要介紹了Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)記錄,包括docker安裝,開(kāi)啟docker遠(yuǎn)程訪問(wèn)端口的方法及配置idea docker環(huán)境的方法,需要的朋友可以參考下
    2021-06-06
  • Docker使用Jumpserver搭建一個(gè)安全的堡壘機(jī)系統(tǒng)

    Docker使用Jumpserver搭建一個(gè)安全的堡壘機(jī)系統(tǒng)

    堡壘機(jī)作為一種重要的安全工具,能夠有效地管理服務(wù)器訪問(wèn)權(quán)限,并提供會(huì)話(huà)審計(jì)功能,以保障系統(tǒng)的安全性和穩(wěn)定性,本文將介紹Jumpserver,并指導(dǎo)如何搭建和配置Jumpserver來(lái)實(shí)現(xiàn)安全的堡壘機(jī)管理,需要的朋友可以參考下
    2025-04-04
  • Docker本地部署Firefox火狐瀏覽器并遠(yuǎn)程訪問(wèn)的流程

    Docker本地部署Firefox火狐瀏覽器并遠(yuǎn)程訪問(wèn)的流程

    在Docker中打開(kāi)Firefox意味著我們將在一個(gè)Docker容器中運(yùn)行Firefox瀏覽器,下面是一個(gè)簡(jiǎn)單的示例,演示如何在Docker中打開(kāi)Firefox,本次實(shí)踐部署環(huán)境為本地環(huán)境,感興趣的朋友一起看看吧
    2023-11-11

最新評(píng)論