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包并实现更新操作等。

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DockerJenkins、GitLab、Maven、Harbor和Spring Boot是一些常用的IT工具和技术,可以用于实现自动化构建和部署。 Docker是一个开源的容器化平台,可以将应用程序及其依赖项打包到容器中,从而实现应用程序的快速部署和隔离。使用Docker可以方便地创建、分享和管理应用程序的容器化版本。 Jenkins是一个开源的持续集成和持续交付工具,可以帮助团队自动化构建、测试和部署应用程序。使用Jenkins可以通过配置和管理各种构建和部署任务,从而实现自动化的软件开发流程。 GitLab是一个基于Git的代码托管和协作平台,可以帮助团队协同开发、管理代码和进行版本控制。使用GitLab可以方便地管理代码仓库、进行代码审查和版本管理。 Maven是一个软件项目管理和构建工具,可以帮助团队自动化构建、测试和部署Java项目。使用Maven可以方便地管理项目依赖、编译代码、运行单元测试等构建任务。 Harbor是一个开源的企业级Docker镜像仓库,用于管理和存储Docker镜像。使用Harbor可以方便地管理镜像的推送、拉取和版本控制。 Spring Boot是一个轻量级的Java开发框架,可以帮助开发者快速构建和部署基于Spring的应用程序。使用Spring Boot可以简化项目配置和管理,提高开发效率。 将这些工具结合使用,可以实现自动化构建和部署。例如,可以使用Jenkins配置一个定时任务,当代码提交到GitLab时,Jenkins会自动触发构建任务。构建任务可以使用Maven编译、打包和测试应用程序,然后使用Docker将应用程序打包成容器镜像,并推送到Harbor中。最后,使用Docker将应用程序部署到服务器上进行运行。这样,我们就可以实现应用程序的自动化构建和部署,提高开发和交付效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值