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

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

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

基于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用戶進入容器

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

查看復(fù)制密碼

cat /var/jenkins_home/secrets/initialAdminPassword

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

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

配置 jenkins

進入jenkins頁面找到,全局配置工具

配置jdk

使用root用戶進入容器

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

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

填入到配置中

echo $JAVA_HOME

配置 maven

安裝maven插件

?

?

配置 gitee

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

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

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

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

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

建立任務(wù)

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

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

配置gitee webhook

生成webhook密碼去gitee中配置webhook

項目打包配置,配置完成之后應(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/
# 殺掉之前進程
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的時間錯誤

使用root用戶進入容器

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

檢查時區(qū)

cat /etc/timezone

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

echo Asia/Shanghai > /etc/timezone

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

    docker-compose實現(xiàn)wireshark對linux主機進行抓包

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

    Docker圖形工具Portainer的具體使用

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

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

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

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

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

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

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

    docker 搭建Mysql集群的方法示例

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

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

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

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

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

    Docker本地部署Firefox火狐瀏覽器并遠程訪問的流程

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

最新評論