一、前言
Jenkins是什么?为什么要使用Jenkins? Jenkins能帮我们解决什么问题?
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
在我们每次开发完项目后,需要线上部署,每次都是由运维人员在本地mvn clean package打包,然后通过 scp 等方式上传到服务器上java -jar启动,这样重复的过程一直都要线下执行,如果运维人员换电脑,或者其他原因导致无法打包,无法部署,严重影响测试的进度,这时候我们就需要使用Jenkins,将打包和部署的操作线上执行,从git上拉取代码,打包,备份,部署流程化,直接在jenkins 构建就能完成部署。
二、Jenkins 安装
[root@nightmare-01 ~]# docker -v
Docker version 20.10.18, build b40c2f6
1.使用docker查询jenkins的镜像
[root@nightmare-01 ~]# docker search Jenkins
2.安装镜像
这里直接安装最新版本jenkins,如果需要安装其他版本在jenkins后面跟上版本号即可
[root@nightmare-01 ~]# docker pull jenkins
3.创建并启动jenkins容器。
创建容器前,先准备一些路径:
mkdir -p kerwin/install/jenkins jenkins挂载路径,每次修改jenkins配置不用去容器里修改。
-v kerwin/install/apache-maven-3.6.0:kerwin/install/apache-maven-3.6.0 需要部署maven项目,所有指定maven安装路径 (如果这个没有配置,后续在jenkins系统配置无法添加该地址,下面jdk 和 git 同理)
-v /usr/java/jdk1.8.0_171:/usr/java/jdk1.8.0_171
-v /kerwin/install/git-2.8.3:/kerwin/install/git-2.8.3
--name myjenkins04 jenkins别名
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
准备好后,执行:
docker run -d -p 10246:8080 -p 10247:50000 -v /kerwin/install/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /kerwin/install/apache-maven-3.6.0:/kerwin/install/apache-maven-3.6.0 -v /usr/java/jdk1.8.0_171:/usr/java/jdk1.8.0_171 -v /kerwin/install/git-2.8.3:/kerwin/install/git-2.8.3 -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name myjenkins04 jenkins/jenkins
4.查看myjenkins04状态
docker ps -a
image.png
5.启动或者停止
docker stop myjenkins04/46722c666a16 (使用别名或者 CONTAINER ID)
docker start myjenkins04/46722c666a16
6.查看日志
docker logs myjenkins04
7.访问Jenkins页面,输入你的ip加上10246,首次登录需要输入密码,密码位置
vim ${jenkins_home}/ secrets/initialAdminPassword
例如:vim /kerwin/install/jenkins/secrets/initialAdminPassword
image.png
8.因为要部署maven项目,可以安装插件来减少工作量,首次登录时安装或者在插件管理安装,我已经跳过首次安装,我从插件管理安装。
推荐几个插件安装:Publish Over SSH(项目打包完成,通过插件send build artifacts over SSH),Maven Integration Plugin(构建Maven项目),Git plugin等
image.png
*
9.配置maven,jdk,git等,路径:系统配置>全局工具配置>
JDK:
image.pngGIT:
image.pngMAVEN:
image.png10.开启对jenkins学习,下一章主要介绍jenkins+git+maven 部署springboot项目。
网友评论