首页 > 其他分享 >【随手记录】docker部署jenkins,集成maven、spring项目

【随手记录】docker部署jenkins,集成maven、spring项目

时间:2024-09-25 11:14:53浏览次数:7  
标签:插件 spring maven jenkins var home docker

1、下载镜像文件到服务器

docker pull jenkins/jenkins:lts-jdk17

或离线导入镜像:

docker load -i jenkins-lts-jdk17

检查镜像是否导入:

docker images|grep jenkins

jenkins/jenkins    lts-jdk17   7a7add0bf3da   2 weeks ago   470MB

2024年6月以后国内很多大型的Docker镜像站都停止了服务或改为内部使用,

具体已经停止服务的以及可用的镜像列表可以在这里找到:

https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

2、创建文件夹/var/jenkins_home,用来存放jenkins的工作空间数据(路径、文件夹名称可以根据现场情况修改)

cd /var && mkdir jenkins_home

3、启动容器

使用docker run命令启动jenkins容器:

docker run -d -p 8080:8080 -p 50000:50000   

-v /home/jenkins_home:/var/jenkins_home   

-v /etc/localtime:/etc/localtime   

-v /usr/bin/docker:/usr/bin/docker   

-v /var/run/docker.sock:/var/run/docker.sock  

-v /home/apache-maven-3.9.9:/var/apache-maven-3.9.9  

-v /home/maven_repository:/root/.m2/repository  

-v /home/jdk1.8.0_151:/var/jdk1.8.0_151

--restart=on-failure   

-u 0   

--name jenkins   

jenkins/jenkins:lts-jdk17

注意:

  • 根据实际情况调整挂载目录、开放端口:
  • /etc/localtime为了让容器内部时间和宿主服务器保持一致
  • /usr/bin/docker为了让容器内部可以使用docker命令
  • /var/run/docker.sock 为了让容器内的Docker客户端能够与宿主机的 Docker 守护进程通信
  • -u 0为了确保容器内的 Jenkins 有足够的权限执行需要的操作,以 root 用户(UID 0)身份运行容器。
  • /var/jenkins_home 为jenkins工作空间目录,备份该目录数据即可实现jenkins数据备份迁移
  • /home/apache-maven-3.9.9、/home/maven_repository为挂载的maven和maven类库
  • /home/jdk1.8.0_151该镜像内自带jdk17环境,如果想更改jdk版本,可以通过-v挂载jdk部署包并在系统里配置java_home路径

4、解锁jenkins

第一次打开jenkins系统需要配置密码,从/var/jenkins_home/secrets/initialAdminPassword

目录获取:

5、配置插件

新手建议安装推荐的插件,后续根据需求再调整插件

6、创建管理员账户

账户创建完成之后,步骤四的initialAdminPassword账户即删除,无效!

7、部署完成

8、补充所需插件  

需要用到maven、svn等插件,具体插件清单如下:

  • Subversion  --从SVN中获取代码
  • Maven Integration  -- 编译项目
  • Docker plugin  -- 用于节点管事中的 Docker 维护
  • docker-build-step  -- 用于 Build/Publish Docker Image
  • SSH -- 用于远程执行服务器上的命令

9、配置docker服务

如果是jenkins本地docker无需额外配置,如果是远程服务器docker,可以通过ssh插件执行docker命令或者通过docker cloud插件调度远端docker 

10、新增maven项目    

新增maven项目之前,需要配置好maven,再系统管理-全局工具配置里设置maven工具信息:

然后点击新增Item,选择”构建一个maven项目“,正式开始项目配置:

配置svn源码信息:

 

 

配置触发器,什么条件下触发执行,定时器采用linux的cron定时规则:

编译配置:  

执行脚本,本地打docker镜像

 

 

11、测试执行,完成

标签:插件,spring,maven,jenkins,var,home,docker
From: https://www.cnblogs.com/whaleX/p/18430914

相关文章

  • javaWeb项目-springboot+vue+mysql财务管理系统功能说明介绍
    项目源码资源(点击链接下载):java-springboot+vue财务管理系统源码(项目源码-说明文档)资源-CSDN文库项目关键技术: 1、java技术java页面实质上也是一个HTML页面,只不过它包含了用于产生动态网页内容的JAVA代码,这些JAVA代码可以是JAVABean、SQL语句、RMI对象等。例如一个java......
  • Springboot中动态管理定时任务
    引言基于cron表达式的定时任务实现,因为cron表达式对于每个任务不确定,所以使用线程池来动态的创建和销毁定时任务依赖因为使用的spring自带的调度功能,所以没有额外的依赖,我的项目版本为:使用首先需要定义一个线程池,使用@configuration注解配置importorg.springframework.co......
  • springcloud的热点数据进行流控
    简单理解就是,同样请求一个接口的入参,针对该参数对应是规定值的数据请求,进行控制,比如我一个接口的一个参数为id,如果id值为1002、1003的入参进行热点控制,别的id值不控制随意请求。采用的是sentinel进行热点数据控制  设置如下这个热点设置,需要借助@SentinelResource进行实......
  • 基于SpringBoot和Vue的餐饮管理系统
      基于springboot+vue实现的餐饮管理系统 (源码+L文+ppt)4-078   第4章系统设计   4.1总体功能设计一般个人用户和管理者都需要登录才能进入餐饮管理系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用者只能对菜品信息提供查阅和......
  • 【JAVA开源】基于Vue和SpringBoot学科竞赛管理系统
    本文项目编号T047,文末自助获取源码\color{red}{T047,文末自助获取源码}......
  • Spring Cloud全解析:服务调用之OpenFeign简介
    OpenFeign简介OpenFeign是SpringCloud对于Feign进行的再次封装,使其支持了SpringMVC的标准注解以及HttpMessageConverters依赖<!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign<......
  • 基于springboot在线点餐系统
     基于springboot+vue实现的点餐系统 (源码+L文+ppt)4-077    第4章系统设计   4.1总体功能设计一般个人用户和管理者都需要登录才能进入点餐系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用者只能对美食信息提供查阅和个别使用信......
  • Spring-AOP
    Spring-AOPAOP:AspectOrientedProgramming(面向切面编程)OOP:ObjectOrientedProgramming(面向对象编程)在Spring框架中,AOP(面向切面编程,Aspect-OrientedProgramming)是一种编程范式,它通过将关注点(如事务管理、日志记录、安全等)从业务逻辑中分离出来,使得代码更加模块化和可维......
  • Spring-IOC
    Spring-容器篇IoC、DI注册组件注入组件组件生命周期组件和容器组件:具有一定功能的对象容器:管理组件(创建、获取、保存、销毁)IoC和DIIoC:InversionofControl(控制反转)控制:资源的控制权(资源的创建、获取、销毁等)反转:和传统的方式不一样了DI:DependencyInjection(......
  • Spring-MVC
    Spring-MVC介绍https://docs.spring.io/spring-framework/reference/web/webmvc.htmlSpringWebMVC是基于ServletAPI构建的原始Web框架,从一开始就包含在SpringFramework中。正式名称“SpringWebMVC”来自其源模块的名称(spring-webmvc),但它通常被称为“SpringMVC”。在......