Jenkins自动化部署docker

这篇具有很好参考价值的文章主要介绍了Jenkins自动化部署docker。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Jenkins自动化部署docker和普通方式构建

docker外挂目录

  1. 准备测试服务器docker环境
  2. 准备jdk环境
  3. 将上传jar包修改为app.jar
  4. 对外暴露1000端口
  5. 启动jar
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 1000
ENTRYPOINT ["java","-jar", "/app.jar"]

制作镜像

将上传的镜像先测试,我的jar包叫sky-server-1.0-SNAPSHOT.jar先将这个做成镜像

docker build --build-arg JAR_FILE=app.jar -t sky .

创建容器

将之前做的镜像运行

docker run -di -p 1000:8080 sky:v1 

环境搭建

环境准备

前提需要Jenkins和Gitea这个要提前准备好。

1、配置Jenkins的Maven目录
下载Maven

下载地址在这:https://maven.apache.org/download.cgi

下载二进制文件就行,不要下载源码。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

配置maven环境

因为墙的原因,所以部分内容改成国内镜像,还要设置包下载目录

我在公用目录中创建一个新的文件夹,因为那个目录中文件太多了不好操作

[root@bunny jenkins_home]# mkdir plugin
[root@bunny jenkins_home]# cd plugin
[root@bunny plugin]# pwd
/data/jenkins_home/plugin

之后将下载好的Maven拖到这个目录下等会去解压,我下的是版本是3.9.6

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

解压Maven

解压安装包,并重命名,本来的名字有点长

# 解压
tar -xzf apache-maven-3.9.6-bin.tar.gz 
# 重命名
mv apache-maven-3.9.6 maven
配置国内镜像

进入到/data/jenkins_home/plugin/maven/conf/目录

cd /data/jenkins_home/plugin/maven/conf/

找到settings.xml编辑

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

将镜像改为阿里云

<mirror>
  <id>alimaven</id>
  <name>Aliyun Maven</name>
  <url>https://maven.aliyun.com/repository/public</url>
  <mirrorOf>central</mirrorOf>
</mirror>

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

下载目录就放在/data/jenkins_home/plugin/maven/maven_reo

<localRepository>/data/jenkins_home/plugin/maven/maven_reo</localRepository>

全部的配置参考

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.3.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.3.0 https://maven.apache.org/xsd/settings-1.3.0.xsd">
  <localRepository>/data/jenkins_home/plugin/maven/maven_reo</localRepository> 
  <mirrors>
	<mirror>
	  <id>alimaven</id>
	  <name>Aliyun Maven</name>
	  <url>https://maven.aliyun.com/repository/public</url>
	  <mirrorOf>central</mirrorOf>
	</mirror>
  </mirrors>


  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>


  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
</settings>
安装Jenkins

在配置Jenkins时我将目录映射到了本机和容器中/data/jenkins_home

如果之前你也下载过了,找到对应位置即可

docker run -u root -d --name myjenkins \
-p 8040:8080 -p 50000:50000 \
-v /data/jenkins_home:/var/jenkins_home \
--restart=always jenkinsci/blueocean
配置Jenkins中Maven目录
/data/jenkins_home/plugin/maven/conf/settings.xml

在本机将Maven配置到全局,这个看自己需求,如果之后打算在本机使用Maven就是在docker使用就不用这样了

ln -s /data/jenkins_home/plugin/maven/bin/mvn /usr/local/bin/mvn

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

因为之前配置的本地环境映射到docker容器中的,当时我们的目录是/data/jenkins_home但是在docker中是/var/jenkins_home需要非常的注意!!!需要非常的注意!!!需要非常的注意!!!

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

之后配置/var/jenkins_home/plugin/maven目录是这个不是/data开头的了!!!

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

验证安装

在本地环境:

ln -s /data/jenkins_home/plugin/maven/bin/mvn /usr/local/bin/mvn
mvn --version

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

在docker环境:

ln -s /var/jenkins_home/plugin/maven/bin/mvn /usr/local/bin/mvn
mvn --version

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

2、配置邮箱发送

点击这个

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

这里填写你的邮箱

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

设置Extended E-mail Notification

点击高级,添加用户

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

密码填写授权码,因为QQ是用授权码的。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

之后将授权码填到密码中

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

点击下拉框选择即可,需要勾选Use SSL因为QQ是使用SSL登录的

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

配置邮件通知,在下面选择发送人的邮箱。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

3、安装web钩子

安装web钩子插件,如果后期需要使用git推送时触发,需要安装web钩子

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

4、安装邮件发送

名称为:Email Extension

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

实战案例

使用Jenkins部署SpringBoot项目,两种方式

  1. 普通构建方式
  2. docker构建方式

这里使用的是gitea托管,使用web钩子的方式,当代码提交时自动打包并运行(使用Jenkins),我的Jenkins和gitea都是装在docker中的。

普通方式构建

环境初始化

将写好的SpringBoot项目自动化部署到Jenkins。

构建Maven项目

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

添加用户

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

构建环境建议勾选这个

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

token可以随便填,按自己需要

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

之后点击保存

开始构建

先看下是否可以构建成功,成功后再做运行相关操作。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

控制台输出,看到这个基本可以放心一半这样了。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

构建成功

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

配置邮件发送相关

邮件模板,在映射目录下也就是本机创建目录,

[root@bunny conf]# mkdir -p  /data/jenkins_home/email-templates
[root@bunny conf]# cd /data/jenkins_home/email-templates/

将下面的命名为eamil.html具体名字你自己定义。

这个模板可以自定义的,这是第一种模板

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
    offset="0">
    <table width="95%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <tr>
            <td>(本邮件是程序自动下发的,请勿回复!)</td>
        </tr>
        <tr>
            <td><h2>
                    <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                </h2></td>
        </tr>
        <tr>
            <td><br />
            <b><font color="#0B610B">构建信息</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>项目名称 : ${PROJECT_NAME}</li>
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>
                    <li>SVN 版本: ${SVN_REVISION}</li>
                    <li>触发原因: ${CAUSE}</li>
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">Changes Since Last
                        Successful Build:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="    %p"}
            </td>
        </tr>
        <tr>
            <td><b>Failed Test Results</b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td><pre
                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
                <br /></td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <!-- <tr>
            <td>Test Logs (if test has ran): <a
                href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
                <br />
            <br />
            </td>
        </tr> -->
        <tr>
            <td><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
            </td>
        </tr>
    </table>
</body>
</html>

这是第二种模板

<hr/>(自动化构建邮件,无需回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><br/>

项目描述:$JOB_DESCRIPTION<br/><br/>

运行编号:$BUILD_NUMBER<br/><br/>

运行结果:$BUILD_STATUS<br/><br/>

触发原因:${CAUSE}<br/><br/>

构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><br/>

构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><br/>

详情:${JELLY_SCRIPT,template="html"}<br/>
<hr/>

之后点击测试,名称目录就是你取得到名字,我就不一一测试了。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

如果上述觉得这个格式可以将代码可以将这个代码粘贴到邮件发送的这里面

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

在构建中添加邮件构建

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

因为上面填写的是HTML模板

在这填写的是这个Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

当然也可以发送附件,这个附件内容需要在工作空间中的,也就是在这里

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

为了测试附件我就随便选一个。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

设置接受邮件人和回复邮件人,使用逗号分隔,如果选择的html模板发送的在下面还需要勾选Content Type
为html格式。

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

点击立即构建,会发送邮件

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

构建成功运行项目

构建完成后执行脚本

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

查看本地的文件

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

之后构建完成后执行这个目录的jar包

cd /data/jenkins_home/workspace/sky-take-out/sky-server/target
mkdir -p /data/jenkins_home/workspace/sky-take-out/logs
nohup java -jar app.jar --server.port=1000 > /data/jenkins_home/workspace/sky-take-out/logs/app.log 2>&1 &

需要再全局配置中添加

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

在gitea中点击设置,添加web钩子

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

推送失败

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

解决方式

之后重启gitea

修改 /data/gitea/conf/app.ini 配置文件

[webhook]
ALLOWED_HOST_LIST = 你的IP

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

可以了

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

访问页面,可以访问只是路径不对

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

使用docker方式构建

docker相关指令

停止指定所有容器
docker stop sky
docker rm sky
删除指定所有镜像
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')  #停止容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')     #删除容器
docker rmi $(docker images | grep "none" | awk '{print $3}')    #删除镜像

开始构建

基础步骤

和上面构建方式差不多,只是要在目录下新建dockerfile

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

在之前的gitea中新增一个钩子

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

新建一个Maven项目

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

配置和之前都差不多只是web钩子改成这个sky-take-out-docker

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络

如果还想使用发送邮件配置还是和上面一样。

区别步骤
dockerfile内容
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 1000
ENTRYPOINT ["java","-jar", "/app.jar"]
构建前操作

因为是使用docker构建需要删除之前的镜像和容器所以在构建时需要添加构建前操作

执行脚本,和上面的一样,因为是在容器中需要向容器外的本机发送指令

docker stop sky_jar 
docker rm sky_jar 
docker rmi $(docker images | grep "sky" | awk '{print $3}') 

cp /data/jenkins_home/workspace/sky-take-out-docker/dockerfile /data/jenkins_home/workspace/sky-take-out-docker/sky-server/target/dockerfile

cd /data/jenkins_home/workspace/sky-take-out-docker/sky-server/target
docker build --build-arg JAR_FILE=app.jar -t sky .
docker run -di -p 2000:8080 --name sky_jar sky 

为了和上面的区分将端口改为2000

INT [“java”,“-jar”, “/app.jar”]


##### 构建前操作

因为是使用docker构建需要删除之前的镜像和容器所以在构建时需要添加构建前操作

执行脚本,和上面的一样,因为是在容器中需要向容器外的本机发送指令

```sh
docker stop sky_jar 
docker rm sky_jar 
docker rmi $(docker images | grep "sky" | awk '{print $3}') 

cp /data/jenkins_home/workspace/sky-take-out-docker/dockerfile /data/jenkins_home/workspace/sky-take-out-docker/sky-server/target/dockerfile

cd /data/jenkins_home/workspace/sky-take-out-docker/sky-server/target
docker build --build-arg JAR_FILE=app.jar -t sky .
docker run -di -p 2000:8080 --name sky_jar sky 

为了和上面的区分将端口改为2000

Jenkins自动化部署docker,后端,Docker,Linux,jenkins,自动化,docker,运维,容器,maven,网络文章来源地址https://www.toymoban.com/news/detail-795794.html

到了这里,关于Jenkins自动化部署docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker+jenkins+dockerfile 自动化部署发布

    提示: 文章如有错误的地方请指出,以免误人子弟! 提示:以下是本篇文章正文内容,下面案例可供参考 下载镜像 下载maven maven 官网下载地址 或者使用命令下载 通过软件放到 linux 的目录下,这边放到Home目录下 解压 进到解压的目录下,创建项目的本地仓库文件夹并赋予读

    2024年02月05日
    浏览(30)
  • Docker + Jenkins 自动化部署若依项目

    前言 对着此文章操作之前,确保服务器上的Java环境(JDK、MySQL、Redis、Jenkins以及Linux安装Maven)已经装好,如果没有装好,参考我之前的文章。 注意: 如果服务器上自己装的又 Nginx ,需要手动停了,要不会导致80端口被占用 1:首先,到若依官网拉去若依分离版项目 2:拉完之后

    2024年04月16日
    浏览(36)
  • Jenkins+Docker+Gitee搭建自动化部署平台

    目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全局工具配置 自动构建Springboot项目 准备好

    2024年02月04日
    浏览(37)
  • Docker + Jenkins + Nginx实现前端自动化部署

    文章有点长,如果你是以学习的态度来看这篇文章,建议收藏起来慢慢看。 前端自动化部署一直以来概念很清楚知道怎么回事,但是其中怎么操作没怎么研究过,虽然之前环境都搭起来了,但是也只是Jenkins构建项目成功,比如提交代码之后怎么触发自动构建,打包后的文件

    2024年02月05日
    浏览(33)
  • Gitlab + Docker + Jenkins + Harbor实现自动化部署

    目录 文章目录 前言 一、第一台服务器--Jenkins 1、安装前 2、安装Jenkins 3、修改正在跑容器的端口 4、Jenkins内部插件和配置  二、第二台服务器--Harbor 1、安装docker-compose 2.安装及配置 3、卸载Harbor  4、Harbor启动后操作 三、第三台服务器--生产环境  1、配置私服地址 四、Jenkin

    2024年02月14日
    浏览(38)
  • Docker+Jenkins+Gitee自动化部署maven项目

    各位看官老爷,本文为Jenkins实战,注重实际过程,阅读完会有以下收获: 了解如何使用Docker安装Jenkins 了解如何使用Jenkins部署maven项目 了解如何使用Jenkins+Gitee实现自动化部署 相信,正在读这篇文章的你,对Jenkins应该有或多或少的了解,就算没有也应该在某个地方听说过。👍

    2024年02月07日
    浏览(219)
  • jenkins+docker实现可持续自动化部署springboot项目

    目录 一、前言 二、微服务带来的挑战 2.1 微服务有哪些问题

    2024年04月15日
    浏览(64)
  • Jenkins + Docker 一键自动化部署 SpringBoot 应用最精简流程

    本文章实现最简单全面的 Jenkins + Docker + Spring Boot 一键自动部署项目。步骤齐全,少走坑路。 环境:CentOS7 + Git (Gitee) 实现步骤:在 Docker 安装 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 脚本实现项目自动拉取打包并运行。 1安装 Docker 安装社区版本 Docker CE 确保 yum 包

    2024年04月26日
    浏览(33)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月05日
    浏览(55)
  • 轻松拿捏Jenkins(Linux)+Java11+Docker自动化打包部署

    注:本文由笔者小白亲手实践写作,涵盖较全,创作不易,且行且珍惜!! 历时24小时,包含Jenkins环境构建部署过程中的99%问题,确定不来看一下吗? 由于Jenkins自2.357版本之后,上新的版本需要提供Java11及以上版本的支持,且之前的版本市场上推荐的绝大多数插件已经不再

    2024年02月06日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包