Jenkins的简单使用【图文并茂】

简介: Jenkins的简单使用【图文并茂】

Jenkins的介绍


     官方版:Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。


    作者版:写完代码提交到仓库就自动部署。


需求


在window上写SpringBoot项目,写完代码后pull到github上可以自动打包并且运行jar


注意


仓库使用Github,仓库使用Github,仓库使用Github,如果使用Gitee,那么webhook那个地方会有个坑,注意一下


前提


Linux(能连外网)+JDK8 + Git+Github+Maven会配置并且使用


Linux安装Maven


安装Maven:linux安装maven简易步骤 - 简书


配置Maven中央镜像:Maven中本地仓库,中央镜像,JDK版本配置_CBeann的博客-CSDN博客


1)其中配置远程镜像仓库的setting.xml在 apache-maven-3.6.3/conf 目录下


2)注意自己的目录问题


Linux安装git


yum -y install git


git --version


基本功能模块


9.png


文件目录结构


博客肯定有自己的目录,但是我在这里写的不是废话,有助于阅读全文


1)Linux安装Jenkins:Linux怎么安装Jenkins(比如下载Maven并且配置了Maven的环境的变量)


2)Jenkins全局配置:设置Jenkins的一些全局属性(比较安装好Maven后你要设置仓库镜像地址、本地仓库地址等)


3)在IDEA中创建Boot项目并且传到github:就是简单的创建项目并且上传打github


4)创建Jenkins任务关联项目:核心操作


  4.1)源码管理:关联github,自动部署要有仓库吧,这个地方设置仓库URL和其他验证信息。


  4.2)构建触发器:触发构建的前提条件,就是满足什么条件才能触发构建条件,此处是访问某个 URL  时就触发了构建模块。


  4.3)构建:核心逻辑,此处就是把仓库里的代码 clean install


  4.4)构建后操作:当构建完毕后执行的操作,此处就是 构建的结果是xx.jar  , 构建后操作就是执行jar呗


  4.5)手动构建:测试一下构建是什么操作,其实就是手动触发构建,只有手动正确了自动才放心。


5)配置github的webhooks:关联jenkins触发器,当github仓库有pull请求时候就触发构建触发器,从而执行构建操作。


Linux安装Jenkins


下载最新的 jenkins.war (http://mirrors.jenkins.io/war-stable/latest/jenkins.war)


把war包放在tomcat服务器里


在浏览器输入 http://39.105.30.146:8080/jenkins/


然后跳转到如下页面,其中密码在图中已经告诉你位置


cat /root/.jenkins/secrets/initialAdminPassword


10.png


输入密码后点击右下角的继续


1.png


下一步


2.png


全部安装成功以后,很久以后。。。如下图所示,选择admin用户,密码为上面的密码


3.png


如下图所示


4.png


安装成功后如图所示


5.png


Jenkins全局配置


主页面


6.png


全局安全配置Configure Global Security


7.png


8.png


全局工具配置Global Tool Configuration


9.png


10.png


11.png


12.png



13.png


在IDEA中创建Boot项目并且传到github


这个没啥好说的,就是一个SpringBoot项目


14.png


创建Jenkins任务关联项目


主页面


15.png


16.png


源码管理:关联github


17.png


18.png


19.png


构建触发器:触发构建的前提条件


目的


当访问(http://39.105.30.146:8080/job/jkdemo/build?token=jkdemo123)时,会构建触发器去构建项目


配置


格式:JENKINS_URL/              job/jkdemo/build?token=TOKEN_NAME
===>>>
实例:http://39.105.30.146:8080/job/jkdemo/build?token=jkdemo123


2020060116052374.png


构建:核心逻辑


20.png


21.png


构建后操作:当构建完毕后执行的操作,执行shell脚本


22.png


注意:下图可能没有Post build task 选项 ,需要安装插件 Post Build task,安装插件方式在遇到的问题中


23.png


24.png


脚本的内容大致为:把xxx.jar包从仓库复制到某个地方,然后获取正在运行的xxx.jar的进程ID,然后关闭,在运行java -jar xxx.jar


脚本需要修改,不能直接用


#!/bin/bash
cp /root/.m2/repository/com/example/jkdemo/0.0.1-SNAPSHOT/jkdemo-0.0.1-SNAPSHOT.jar  /opt/cbeann/jkdemo-0.0.1-SNAPSHOT.jar
your_name=$(ps -ef | grep jkdemo-0.0.1-SNAPSHOT.jar | grep -v grep)
#echo ${your_name}
array=(${your_name// / })  
process_id=${array[1]}  ##获得进程ID
kill -9 ${process_id}
java -jar /opt/cbeann/jkdemo-0.0.1-SNAPSHOT.jar &


手动构建:测试一下构建是什么操作


点击左边的   立即构建,就会出现 左下角的 进度条


25.png


26.png


进度条完毕后会出现工作区,里面放着源代码


27.png


配置github的webhooks:关联jenkins触发器


28.png


29.png


遇到的问题


1)新版Jenkins禁用CSRF


修改tomcat-8.5.55\bin\catalina.sh


JAVA_OPTS="-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"


30.png


2)jenkins安装插件


以安装插件 Post Build task 为例


31.png


32.png



目录
相关文章
|
8月前
|
jenkins Java 持续交付
Jenkins基础入门与安装配置详解
Jenkins基础入门与安装配置详解
268 1
|
5月前
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
|
jenkins Java 持续交付
Jenkins的简单使用,小白式教程
Jenkins的简单使用,小白式教程
277 0
|
8月前
|
前端开发 JavaScript 开发者
为掘金编写了一款简易版一键三连的油猴脚本(一)
为掘金编写了一款简易版一键三连的油猴脚本
190 0
|
8月前
|
Web App开发 JavaScript 前端开发
为掘金编写了一款简易版一键三连的油猴脚本(二)
为掘金编写了一款简易版一键三连的油猴脚本(二)
176 0
|
8月前
|
jenkins Java 应用服务中间件
Jenkins 安装全攻略:从入门到精通
Jenkins 安装全攻略:从入门到精通
162 0
|
jenkins Java 持续交付
Jenkins使用入门笔记
Jenkins使用入门笔记
119 0
|
存储 监控 前端开发
jenkins手把手教你从入门到放弃01-jenkins简介(详解)
jenkins是一个可扩展的持续集成引擎。持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
886 0
jenkins手把手教你从入门到放弃01-jenkins简介(详解)
|
Java Shell 开发工具
Spring源码阅读 之 搭建源码阅读环境(IDEA)
Spring源码阅读 之 搭建源码阅读环境(IDEA)
164 0
Spring源码阅读 之 搭建源码阅读环境(IDEA)

相关实验场景

更多