DockerCompose+Jenkins+Pipeline流水线打包SpringBoot项目(解压安装配置JDK、Maven等)入门

场景

DockerCompose中部署Jenkins(Docker Desktop在windows上数据卷映射):

DockerCompose中部署Jenkins(Docker Desktop在windows上数据卷映射)-CSDN博客

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑:

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑_jenkins的安装以及集成jdk+git+maven 提示警告-CSDN博客

上面流程新建jenkins项目为maven项目,这里使用jenkinsfile文件的形式使用流水线语法进行SpringBoot/Maven项目的打包示例。

注:

博客:
霸道流氓气质-CSDN博客

实现

1、Pipeline流水线语法文档

流水线语法

2、环境搭建,首先在windows电脑上(这里使用本机演示,尽量使用linux服务器)

新建目录,并新建如下目录,其中jenkins_home用来映射容器内Jenkins的工作目录;tools用来映射容器内离线解压配置jdk和maven等工具

3、Windows上使用Docker Desktop部署jenkins后运行卡顿现象排查

首先按照上面文章部署jenkins容器时不要使用latest的最新版本,而是使用lts的稳定版本。

其次在启动jenkins容器后不进行安装推荐的插件,会导致很多插件的版本与jenkins的版本不对应,

进而导致大量不兼容报错的提示,所以在启动成功之后按需自行安装插件。

4、docker(Docker Desktop)部署jenkins后如何通过解压配置的方式配置jdk

首先下载jdk的tar.gz包,注意这里要下载linux版本的,因为最终是要给容器内jenkins使用。

比如这里下载的为jdk-8u401-linux-x64.tar.gz

然后以管理员模式运行解压软件,这里是使用winrar,然后将上面的jdk的压缩包进行解压。

windows上一定要以管理员模式解压,否则会有问题。

当然如果是在linux上则直接使用解压命令解压即可。

注意解压之后会有一层最外层的目录,将外层目录去掉,最终实现jdk的目录结构为

即将原来的bin所在的目录直接放在tool目录下的java路径下

同理在linux上可以执行如下类似的指令

复制代码
rm -rf java & mkdir java & tar xzvf jdk-*.tar.gz --strip-components 1 -C ./java

jenkins中配置jdk的安装

访问jenkins的页面中系统管理-全局工具配置-JDK安装-不要勾选自动安装,注意这里的别名为jdk,

这个名称需要记住,后续需要与jenkinsfile中tool配置时一致。

然后注意这里的JAVA_HOME路径为:/tool/java

5、docker(Docker Desktop)部署jenkins后如何通过解压配置的方式配置maven

同上面解压jdk同样,下载maven的压缩包并解压至tool下maven目录下,使bin目录所在的目录直接就在

tool/maven下。

修改maven的配置文件,修改上面conf下settings.xml中的配置项。

比如修改仓库地址,首先在容器映射路径下tool下新建repo目录,然后修改settings配置文件中localRepository的路径为

/tool/repo

比如修改镜像源为aliyun仓库地址,这里不再赘述,其实就是对maven的配置文件进行修改,比如可以拿本地开发调试用的maven的配置文件进行修改和替换。

访问jenkins的页面中系统管理-全局工具配置-Maven安装-不要勾选自动安装,注意这里的别名为maven

这个名称需要记住,后续需要与jenkinsfile中tool配置时一致。

然后注意这里的MAVEN_HOME路径为:/tool/maven

6、插件安装

配置完以上jdk与maven之后,需要安装必须的插件。

这些需要安装Git plugin、Maven Integration、Pipeline(流水线插件)、Localization:Chinese(Simplified)中文语言包汉化插件、Pipeline:Stage View Plugin插件(流水线图形化插件)、Gitee(这里代码存放在Gitee上)。

以上插件以及其他插件的安装根据个人需求进行安装。

确保拉取代码并打包的必须的插件安装即可。

7、配置流水线项目

新加项目-安装pipeline插件后会有流水线项目选项

然后配置gitee代码地址

接下来配置git以及凭证等

定义流水线为Pipeline script from SCM,然后SCM为Git,配置仓库地址以及拉取代码的凭证,这里使用的是账户密码,当然也可以使用其他

ssh公钥私钥、giteeapi令牌等方式。

添加凭证直接点击添加

然后继续往下配置Jenkinsfile的路径,这里配置项目根目录下,然后在gitee远端代码仓库根目录下新建Jenkinsfile文件

这样的目的是使流水线的配置文件可以被版本管理起来,方便修改和维护。

修改文件内容如下

复制代码
pipeline {
    agent any
 tools {
        maven 'maven'
        jdk   'jdk'
    }
    stages {
  stage('编译构建') {
            steps {
                sh 'mvn clean package -DskipTests'
            }
        }
    }
 post {
        always {
            echo '构建结束,结果:'
        }
  success {
            echo '构建成功'
        }
  failure {
            echo '构建失败'
        }
    }
}

流水线的具体语法参考上面,这里这里的tools中与上面配置jdk和maven时配置的别名一致。

8、构建流水线项目

点击立即构建,第一次构建时间较长,因为需要下载依赖,然后构建完成可以查看日志确认

并且到容器内与容器外映射的路径的jenkins_home/workspace/server_test(这里是新建的任务名)下面对应的jar包路径下去确认。

后续拿到jar包之后需要什么其它操作,就是根据需求自行实现了。比如可以实现通过ssh发送jar包并实现更新操作等。

相关推荐
桦说编程1 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅3 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者4 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺4 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart5 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP6 小时前
MyBatis-mybatis入门与增删改查
java
孟陬10 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌10 小时前
一站式了解四种限流算法
java·后端·go
华仔啊10 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java