慢吞云雾缓吐愁 发表于 2024-8-8 01:44:56

Jenkins详细教程(下载安装、构建部署到Linux)

友情提醒:

先看文章目录,大抵了解文章知识点布局,点击文章目录可直接跳转到文章指定位置。有用记得关注
第一章、快速了解Jenkins

1.1)Jenkins中一些概念先容

① Jenkins是什么?
Jenkins是一个强大的连续集成(CI)工具,紧张用于连续、自动的构建/测试软件项目、监控外部使命的运行。它通常与版本管理工具(如Git、Maven、Ant、Gradle)结合使用,也可以与构建工具结合使用。可在Tomcat等盛行的servlet容器中运行,也可独立运行。
②组件概念:在Java中,组件紧张通过类、接口和包来实现。这些组件是用于构建复杂的应用程序和软件系统的基本模块,能够进步代码的可重用性,低沉开辟的复杂度。
③集成的概念:Jenkins的集成是指将差别的软件组件、模块或服务通过Jenkins这个连续集成工具会合在一起,产生联系,使差别的软件组件或模块能够相互协作,从而构成一个完备的软件系统。
④CI:连续集成的概念,实现自动化构建、自动化测试、发布部署等功能的过程。核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。连续集成并不能消除Bug,而是让它们非常容易发现和改正。
⑤CD:(Continuous Delivery连续交付/Continuous Deployment连续部署)
连续交付指的是频繁地将软件的新版本交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
连续部署是连续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。连续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。连续部署的前提是能自动化完成测试、构建、部署等步骤。
1.2)Jenkins和maven用途上的区别

Maven作用是什么
① Maven 是工具,专注服务于 Java 平台的项目自动化构建和依靠管理。
②可以整合多个项目之间的引用关系,我们可以根据业务和分层需要任意拆分一个项目。
③提供规范的管理各个常用jar包及其各个版本,并且可以自动下载和引入项目中。
④可以根据指定版本自动解决jar包版本兼容题目。
⑤可以把jar包所依靠的其它jar包自动下载并引入项目。
Jenkins作用是什么
①自动化构建:Jenkins可以根据代码仓库的变革自动触发构建过程,包括编译、打包和天生构建报告等。
②自动化测试:Jenkins可以自动运行各种测试工具和测试框架,如JUnit、Selenium等
③自动化部署:Jenkins可以自动化部署软件到各个环境,如开辟环境、测试环境和生产环境等。
④连续集成/连续部署:Jenkins可以将差别的开辟分支自动合并,并举行编译、测试和部署等流程,以确保代码的集成和交付的质量和稳定性。
1.3)为什么使用Jenkins

曾经的打包部署:
提交最新代码到Git
拉取最新代码并打包
将程序文件上传到服务器
确认程序是否正在运行
关闭运行的程序启动新的jar包
查看是否启动新程序乐成
确认乐成后测试人员举行测试。
使用Jenkins后:
将代码提交到git
构建项目实现自动化打包部署
构建乐成
测试人员举行测试
第二章、Winodws下载安装Jenkins

2.1)安装之前的准备

①windows安装JDK。 安装教程:jdk1.8安装教程及环境变量设置(含jdk8,11,13安装文件)
②git下载和安装 教程:代码托管/版本控制工具:Git的安装和使用
③maven下载和安装 教程:Idea整合Maven安装及设置教程(图文详解)
④windowsTomcat服务器 安装:Tomcat服务器下载安装及设置教程
⑤如果使用Linux系统请看这个: Linux操纵系统学习,Linux底子下令大全
⑥如果使用docker安装Jenkins看这篇: Docker部署Jenkins
2.2)Windows中Jenkins下载安装教程

①官网下载安装包:
官网链接:点击跳转:https://www.jenkins.io/
https://i-blog.csdnimg.cn/blog_migrate/2a2cb06e29de6077dbbc16d3518ccf83.png
跳转到这个页面,点这里下载 .war安装包。Linux和Windows都是这个安装包
https://i-blog.csdnimg.cn/blog_migrate/b64edf472f94053494ca8e414b6c69fc.png
②把下载好的jenkins.war 放文件夹下。在这个目录使用Java -jar jenkins.war下令启动
https://i-blog.csdnimg.cn/blog_migrate/17ce25de9c3fbb731314399be5616ce8.png
③安装乐成体现如下界面,
https://i-blog.csdnimg.cn/blog_migrate/e7bbe47266bd5ffd9da738778e401e25.png
④浏览器输入:localhost:8080/ 登录Jenkins,C:\Users\86130.jenkins\secrets\initialAdminPassword文件里找到暗码。暗码复制进来,点击继续
https://i-blog.csdnimg.cn/blog_migrate/921c556b2cc132a12da6213847f796ef.png
2.3)Jenkins修改暗码

①选择默认安装插件
https://i-blog.csdnimg.cn/blog_migrate/3a137bb8103a92a4e7e052d258e8954c.png
②创建用户,点击使用admin账号继续
https://i-blog.csdnimg.cn/blog_migrate/dd6b68294670adb7de54f15f03d44ab7.png
③保存后点击开始使用Jenkins
https://i-blog.csdnimg.cn/blog_migrate/9d4f2c16155e9e1a364ad7b64c89ae47.png
④修改暗码:admin–>设置–>下拉找到Password–>修改后点击保存
https://i-blog.csdnimg.cn/blog_migrate/d793f2bb7cc9cb9aafe544150c59a465.png
https://i-blog.csdnimg.cn/blog_migrate/7f8e8c31199449c0ab07510062251ffa.png
2.4)设置Linux上的SSH服务器

SSH服务器可以允许用户远程毗连到系统,举行管理、维护和文件传输,同时提供了加密的通信,掩护系统免受未经授权的访问。
①检测Linux系统上是否已经安装了SSH服务:
如果安装,你将会看到软件包的版本信息。如果未安装,将不会看到任何输出。
使用下令
//Debian/Ubuntu系统
dpkg -l | grep openssh-server
//CentOS/Fedora系统
rpm -qa | grep openssh-server
②未安装的话使用以下下令安装:
留意:Linux CentOS 7 下服务不再通过 service 操纵,而是通过 systemctl 操纵
systemctl start sshd.service
③启动ssh服务器
service sshd start
④设置服务自启动
systemctl enable sshd.service
⑤查看服务是否启动
systemctl status sshd
如果启动了,可以看到如下图的服务信息:
https://i-blog.csdnimg.cn/blog_migrate/df4d6a835474c17c70f9552812314b5d.png
第三章、Jenkins设置

吐槽一下这个汉化,一塌糊涂。Jenkins这差别版本的页面也是乱七八糟。
3.1)Plugins插件管理:

3.1.1)汉化插件

系统设置主页(Dashboard)最左侧—》点击Mange Jenkins(系统管理)
汉化插件:下滑找到 Plugins(插件管理),在plugins installed(已安装插件)选项
https://i-blog.csdnimg.cn/blog_migrate/3d68c94df837b3dfb6c907c63e042448.png
查找插件 Locale plugin 和 Localization: Chinese查看是否安装
https://i-blog.csdnimg.cn/blog_migrate/46474a236099fec7bd5f816f07695856.png
3.1.2)Maven插件

在Jenkins的Manage Jenkins页面,选择Manage Plugins(插件管理)。
在可选插件(Available),输入关键词"Maven Integration Plugin"
https://i-blog.csdnimg.cn/blog_migrate/5a5595f059e78524641757b7c2b06806.png
选择插件并点击Install Now举行安装。
https://i-blog.csdnimg.cn/blog_migrate/ce7020f8935e8a76dc3a69b5fe439144.png
安装完成后,记得重启Jenkins服务让新插件生效。
https://i-blog.csdnimg.cn/blog_migrate/87c6e3479314bbc0a8f93be118271329.png
3.1.3)重启Jenkins:Restart Safely插件

在manage Jenkins(系统管理)—》Install as Windows service中安装Windows服务。
https://i-blog.csdnimg.cn/blog_migrate/1c3223afc71e8eb10f3ce0abb2962420.png
在 Jenkins 插件管理器中搜索 “Safe Restart” 插件并安装。
https://i-blog.csdnimg.cn/blog_migrate/c2e9980c9c57b39c73c3ee90bb5d2001.png
然后在 manage Jenkins(系统管理)最下面。点击 “Restart Safely” 选项举行重启。
https://i-blog.csdnimg.cn/blog_migrate/3a7c60037ee77a70cbe3baaff6bc0cae.png
3.1.4)如果重启Jenkins失败:修改tomcat端口

ps:如果本地还启动了 Tomcat,它默认的端口号也是8080,会导致jenkins重启失败,需要修改tomcat端口
打开Tomcat安装目录的conf路径下设置文件 server.xml
找到:默认的HTTP毗连器设置,此中port="8080"体现Tomcat的HTTP访问端口。
<Connector port="8080" protocol="HTTP/1.1"
         connectionTimeout="20000"
         redirectPort="8443" />
把8080改成8888
<Connector port="8888" protocol="HTTP/1.1"
         connectionTimeout="20000"
         redirectPort="8443" />
3.1.5)文件传输:Publish Over SSH

在“可选插件”选项卡中,搜索Publish Over SSH插件
https://i-blog.csdnimg.cn/blog_migrate/8c69206f7de711d66a11676dba42b808.png
3.1.6)gitee插件

在“可选插件”选项卡中,搜索Gitee插件
https://i-blog.csdnimg.cn/blog_migrate/c95799d6b9fc17d054337d2edd3b26c3.png
3.1.7)清算插件:workspace cleanup

在“可选插件”选项卡中,搜索workspace cleanup插件。查看是否安装
https://i-blog.csdnimg.cn/blog_migrate/e0925ae4904d57d4dace5f299de8dd04.png
3.2)system系统设置:

3.2.1)系统设置:汉化设置

汉化设置:回到Mange Jenkins选项system(系统设置),下滑找到Locale,输入zh_CN,点击保存
https://i-blog.csdnimg.cn/blog_migrate/8101e761b8e80719073c2c1938d9b9c2.png
一般来说汉化能乐成,汉化失败会变成半汉化,半英文,不影响使用。ps:我找了半天也没找到解决办法。
3.2.2)系统设置:访问地点(Jenkins Location)

访问地点设置:回到Mange Jenkins选项—》system(系统设置)—》Jenkins Location
指定安装Jenkins的HTTP地点,例如http://yourhost.yourdomain/jenkins/. 这个值用来在邮件中生产Jenkins链接.
https://i-blog.csdnimg.cn/blog_migrate/cb0a9d035a1d94c01e6c22691a30c3d0.png
3.2.3)系统设置:Gitee设置

Gitee设置:之前已经安装好了Gitee插件。在Mange Jenkins选项—》system(系统设置)—》下滑找到Gitee设置
点击链接登录自己Gitee账号天生令牌填入栏中:https://gitee.com/profile/personal_access_tokens
https://i-blog.csdnimg.cn/blog_migrate/1c821c8ebc618053f7c925479d2e5db4.png
天生的令牌复制到本地https://i-blog.csdnimg.cn/blog_migrate/7261613f586201f1b7fa6c52b037f469.png
链接名随便取名自界说的,域名是http://gitee.com
https://i-blog.csdnimg.cn/blog_migrate/d818dd19266d831d64a295cd8827d665.png
再点击添加,类型选择Gitee的API令牌,将刚刚天生的令牌复制过来,ID不用写,形貌我写的是无语了
https://i-blog.csdnimg.cn/blog_migrate/9074b0fe611d516b87c03770469afd73.png
点开【高级】,勾选忽略SSL检查
https://i-blog.csdnimg.cn/blog_migrate/1f048bf1e258d091d59662dc9679d751.png
选择令牌,测试是否乐成
https://i-blog.csdnimg.cn/blog_migrate/f548f4729210820f8ae7be87bd41aabb.png
3.2.4)系统设置:SSH设置

Manage Jenkins—》 Configure System—》下滑找到Publish over SSH –> 新增 –> 设置下面的信息
点击高级,设置Linux服务器登录暗码。
https://i-blog.csdnimg.cn/blog_migrate/175a5f995cc473a0b19c4fad0f388b5e.png
启动Linux服务器,点击测试毗连,看看是否返回乐成(success)
https://i-blog.csdnimg.cn/blog_migrate/dc26167358e19a524e11c52dc2d3ba29.png
3.3)Security全局安全设置

①主页(Dashboard)—》系统管理(manage Jenkins)—》Security(全局安全设置)里设置:允许注册和授权(根据自己的需求设置)
https://i-blog.csdnimg.cn/blog_migrate/6762d8ff9be70e22792b372ecd5253eb.png
3.4)Tools全局工具设置

②主页—》系统管理—》Tools(全局工具设置)—》第一个Maven设置(根据自己系统的maven路径设置)
https://i-blog.csdnimg.cn/blog_migrate/b17d6fd5c7985d98e6221a25f7ea2770.png
主页—》系统管理(管理Jenkins)—》Tools(全局工具设置)—》JDK设置(根据自己系统的JDK路径设置)
https://i-blog.csdnimg.cn/blog_migrate/57d27f0609ddc0330c4fa5295b9858e8.png
主页—》系统管理(管理Jenkins)—》Tools(全局工具设置)—》git设置(根据自己系统的git路径设置)
https://i-blog.csdnimg.cn/blog_migrate/6fe3a2af3f5dc7c0a7f7ef62cc9f436d.png
主页—》系统管理—》Tools(全局工具设置)—》第二个maven设置(根据自己系统的maven路径设置)
https://i-blog.csdnimg.cn/blog_migrate/0f8f294036b0bc4e603e86815e34ca3e.png
ps:其他的工具设置如docker,NodeJS,Ant这里就不逐一枚举了。
第四章、Jenkins关联Gitee:构建,编译

4.1)Jenkins关联Gitee项目

4.1.1)上传本地项目到gitee中

①在IDEA中创建SpringBoot项目并且上传到github
idea快速搭建Springboot项目
代码托管/版本控制工具:Git的安装和使用
4.1.2)新增Jenkins使命

①主页—》新增使命
https://i-blog.csdnimg.cn/blog_migrate/6561e7c485168aae37c54306a74bbef8.png
②输入项目名称,之前安装了maven插件,如今可以选择构建maven项目,确定
https://i-blog.csdnimg.cn/blog_migrate/1358509896d10a9c2c40e95a7f7e3e2e.png
②在General中写一下项目形貌,不写也行
https://i-blog.csdnimg.cn/blog_migrate/862daa39d899d1ba6101e0c95fbaad87.png
4.1.3)Jenkins关联gitee

②登录gitee,把gitee的仓库HTTP链接复制到本地
https://i-blog.csdnimg.cn/blog_migrate/3d4de8d913863a8c176a03724869b613.png
③选择源码管理—》选择git—》将http地点复制到repositoryURL栏后。点击ADD—》Jenkins
https://i-blog.csdnimg.cn/blog_migrate/ebcf9555b653e5db6c4883d54eb0ccd6.png
④点击add后—》点击Jenkins—》选择之前设置好的API令牌—》记得保存
https://i-blog.csdnimg.cn/blog_migrate/a1ba0da1ee59ba474d243e76def21937.png
4.1.4)踩坑记载

解决报错:Failed to connect to repository : Error performing git command: F:\Git\Git ls-remote -h https://github.com/baomingshu/money.git HEAD:
这是Tools(工具设置)那里git的安装路径写错了,在Tools那里修改一下安装路径为自己电脑的git路径:
F:\Git\Git\bin\git.exe
解决报错:SSL certificate problem: unable to get local issuer certificate
这是因为服务器上的SSL证书未经过第三方机构认证,git就会报错。原因是因为未知的没有签署过的证书意味着大概存在很大的风险。解决办法就是通过下面的下令将git中的sslverify关掉:在git bash里输入下令
git config --global http.sslverify false
4.2)构建和编译项目:build

4.2.1)设置build

找到项目,点击设置
https://i-blog.csdnimg.cn/blog_migrate/8bc10d4dd963d37061a50e654ffafdd0.png
这里我们设置build中的Root Pom,以及代码编译和打包下令:
clean install -DskipTests -Dmaven.repo.local=D:\tools\repository
下令表明:
clean install -DskipTests先clean再install。会执行测试代码编译和打包,但在运行测试时会跳过测试阶段,即不会执行单元测试代码。
-Dmaven.repo.local=D:\tools\repository在本地路径寻找maven仓库,避免每次构建都下载jar包
https://i-blog.csdnimg.cn/blog_migrate/644455fcfe11626b3435c838c4eaf82e.png
4.2.2)立即构建:build now

点击立即构建(build now),等候构建。如果代码没有bug,应该出现一个绿色的勾勾√。
https://i-blog.csdnimg.cn/blog_migrate/4abc8c05bef2e2dce1402dd4af356b3e.png
4.2.3)查看是否构建乐成:jar文件所在地

查看本地目录文件:
在C:\Users\userName\.jenkins\jobs目录查看是否有jobs
https://i-blog.csdnimg.cn/blog_migrate/ba1d2410181b478eeb3df357c927f7e8.png
和C:\Users\86130\.jenkins\workspace\二手市场项目自动化构建\target目录下查看是否有jar文件天生
https://i-blog.csdnimg.cn/blog_migrate/4be4b257544f5f56dd212bc4e1667148.png
查看Jenkins服务器
Jenkins服务器上对应项目—》点击项目名
https://i-blog.csdnimg.cn/blog_migrate/051f6843947c0697563a4436bb35d484.png
点击工作空间
https://i-blog.csdnimg.cn/blog_migrate/2cb7833c92a1d6af836cbd91efa13b12.png
点击模块
https://i-blog.csdnimg.cn/blog_migrate/82a5fbfa88a21f68e4e7d0c5a2698038.png
查看最后一次构建结果https://i-blog.csdnimg.cn/blog_migrate/a33d5e5ad1f9e6a22dad7264268659b6.png
点击工作空间,springboot_base-0.0.1-SNAPSHOT.jar文件会存放在target目录下
https://i-blog.csdnimg.cn/blog_migrate/dde40b44697e46088690046833a323b9.png
4.2.4)踩坑记载

1、再次构建前要把C:\Users\userName.jenkins\workspace的文件手动删除不然会失败。(后面可以设置自动删除)
workspace先容:工作空间,可以随便删除,删除后再次构建时间大概会比力长,因为要重新获取一些资源
https://i-blog.csdnimg.cn/blog_migrate/637308eb0ff9fdf325cfd052902923b5.png2、gitee上src同级目录需要有pom文件,不然会体现找不到pom.xml
https://i-blog.csdnimg.cn/blog_migrate/409626429dcb44fb4b4160912c5006e9.png
3、Root Pom栏不要写本地的绝对路径,否则会把构建的jar包存放到这个绝对路径下而不是C:\Users\86130\.jenkins\workspace\二手市场项目自动化构建\target下。
https://i-blog.csdnimg.cn/blog_migrate/24eadad14a769fc6380b01cbe657dc3f.png
4、设置Dmaven.repo.local=在本地路径寻找maven仓库,不然构建一次要十几分钟下载jar包。
https://i-blog.csdnimg.cn/blog_migrate/21b3f10e5a1bd41b82d9473af94b46b8.png
5、上传到Gitee项目的路径要对(即second_hand_market路径下的一级目录为src),否则会报如下错误:
https://i-blog.csdnimg.cn/blog_migrate/9dab083acf5364752acbdc4e695a997d.png
第五章、构建环境和构建后操纵:部署

5.1)设置构建环境

这里勾选Delete workspace before build starts以后,就会自动清算workspace了,就不用我们手动清算了。确保在构建前能清算工作空间
https://i-blog.csdnimg.cn/blog_migrate/b394a68a587af61a72de39aa7cda0f49.png
勾选Add timestamps to the Console Output:在控制台最左侧一列添加输出日志的时间。
https://i-blog.csdnimg.cn/blog_migrate/57a839d9536bdb63d85463e0f0fb24fe.png
5.2)Post Steps(后置步骤)

资助我们运行一些cmd下令或者shell下令。
例如选择Execute Windows batch command,就是执行cmd下令
https://i-blog.csdnimg.cn/blog_migrate/e58eee5cf4e7eaa56a4eac9805332fa3.png
5.2.1)设置构建后操纵:发送jar文件到Linux服务器

新增构建后操纵,选择Send build artifacts over SSH,之前安装了对应插件所以这里可以选择
https://i-blog.csdnimg.cn/blog_migrate/f9d6a9815fc553ba2d22ec24ec33a7bc.png
设置服务器名称,填写构建好以后的文件位置(相对路径),去除前缀
https://i-blog.csdnimg.cn/blog_migrate/c63f0572f59335ad57f9570fb5b08f18.png
点击高级,勾选Verbose output in console。把ssh插件的日志打印到控制台
https://i-blog.csdnimg.cn/blog_migrate/3736a2c5a4079002cbafa8ff81f1c58b.png
指定Linux服务器的路径,jar包会从Jenkins上传输到这个目录,如果路径不存在,会自动创建目录。
在Exec command栏写上bash下令
https://i-blog.csdnimg.cn/blog_migrate/ef089f85c13650efa676eec4ff1b539a.png
脚本下令的内容贴在这,意思大抵为:
查找springboot_base-0.0.1-SNAPSHOT.jar的历程,如果找到了pid就结束历程
给springboot_base-0.0.1-SNAPSHOT.jar权限 777,进入jar包所在目录
启动jar包
#!/bin/bash
echo "Stop Procedure : springboot_base-0.0.1-SNAPSHOT.jar"
#查找springboot_base-0.0.1-SNAPSHOT.jar的进程
pid=`ps -ef |grep java|grep springboot_base-0.0.1-SNAPSHOT.jar| grep -v grep |awk '{print $2}'`
echo 'old Procedure pid:'$pid
#如果找到了pid就结束进程
if [ -n "$pid" ]
then
kill -9 $pid
#退出if
fi
echo 'Start the program : springboot_base-0.0.1-SNAPSHOT.jar'
#给springboot_base-0.0.1-SNAPSHOT.jar权限777
chmod 777 /home/bao/springboot_base-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'
#进入jar包所在目录
cd /home/bao/
#启动jar包
nohup /usr/local/java/jdk1.8.0_77/bin/java -jar springboot_base-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &
echo 'start success'
5.2.2)查看控制台输出的日志

点击最新的构建历史,查看左上角控制台输出,可以看到乐成传输到了Linux服务器。
https://i-blog.csdnimg.cn/blog_migrate/878f315390acbece800a5b42340d5160.png
5.2.3)踩坑记载

第一个坑:报错PWD
jenkins 远程 Remote root is not absolute, getting absolute directory from PWD;
解决
1、source file 路径写错了,导致文件无法通过ssh传到Linux。这里用的是相对工作区的路径,精确的路径应该为jenkins的workspace下路径。
如果需要上传…Jenkins/workspace/TEST/target下的xxx.jar文件,只需要写target/xxx.jar。 这里的TEST为工程名字。
https://i-blog.csdnimg.cn/blog_migrate/b94a3787b95af3299fe599f6ccacf24b.png
2、在系统设置——SSH Servers——Remote Directory 根路径设置中要加上 /,否则传输文件会去找/root/home/bao,而不是/home/bao
https://i-blog.csdnimg.cn/blog_migrate/c8acbd776fb92030f26547697cab9a23.png
第二个坑:报错执行的shell下令错误
报错如下
ERROR: Exception when publishing, exception message ]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
错误:发布时出现异常,异常消息为]
这个错误通常体现在执行某个下令时出现了题目,大概是下令自己有题目或者执行环境不精确。
题目分析:
ps查询到的历程包罗查询历程自身,当管道举行到kill的时候,所有历程一同被杀死,而Jenkins仍然在等候查找历程自身返回exit 0,事实上它永久等不到了,因为历程都没了。
题目解决:在这一行下令
pid=`ps -ef |grep java|grep springboot_base-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
加入| grep -v grep | 下令清除自身历程即可
修改后的下令如下
#!/bin/bashecho "Stop Procedure : springboot_base-0.0.1-SNAPSHOT.jar"pid=`ps -ef |grep java|grep springboot_base-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pidif [ -n "$pid" ]thenkill -9 $pidfiecho 'Start the program : springboot_base-0.0.1-SNAPSHOT.jar'chmod 777 /home/bao/springboot_base-0.0.1-SNAPSHOT.jarecho '-------Starting-------'cd /home/bao/nohup /usr/local/java/jdk1.8.0_77/bin/java -jar springboot_base-0.0.1-SNAPSHOT.jar > a1.log 2>&1 &echo 'start success' 第三个坑:tomcat端口占用
Linux中的tomcat启动导致端口被占用了,导致启动jar包失败
使用下令关闭tomcat
./shutdown.sh
再次构建执行就乐成启动jar包了。
第四个坑:tomcat端口占用
Jenkins执行bash下令的时候,使用Jenkins系统设置中的jdk。
解决方式:
把bash下令,弄成了sh脚本,放到了Linux服务器/home/bao文件夹上。在Jenkins中只要启动脚本就可以了。
https://i-blog.csdnimg.cn/blog_migrate/bde19b79b82904401e87f5f4f4b34980.png
5.2.4)查看是否部署乐成

使用下令,查看jar包是否启动
ps -ef|grep java
如图体现jar包已经部署乐成
https://i-blog.csdnimg.cn/blog_migrate/f3bc6bdd244ae458d21a7214234a2500.png
第六章、番外

6.1)Jenkins启动,制止和重启

启动Jenkins到Jenkins路径下使用下令:
java -jar jenkins.war
制止Jenkins服务,到Jenkins路径下使用cmd下令:留意这里需要使用管理员身份运行,否则访问时会报发生系统错误5。拒绝访问;
右键开始菜单,选择“window PowerShell(管理员)”,就可以以管理员身份运行cmd。
net stop jenkins
制止了Jenkins服务再启动,到Jenkins路径下使用cmd下令:
net start jenkins
重启Jenkins,在浏览器地点后加上restart
http://localhost:8080/restart
5.3)远程触发器(只是先容,这里不设置)

①什么是触发器:
Jenkins触发器是一种机制,可以根据差别的条件和变乱来触发构建,例如源代码的变更、定时调度、其他项目的构建完成等。
②触发器的种类先容:
触发远程构建:通过访问一个特定的URL并带上身份验证令牌来触发构建。这种方式常用于在其他系统中集成Jenkins,并通过链接远程触发项目的构建。
定时构建:按照设定的时间周期举行构建,例如每天、每周或每月的特定时间举行构建。这种方式适用于需要定期执行构建使命的项目。
Webhooks构建:一些SCM(如GitHub和Bitbucket)允许Jenkins作为Webhook的吸收者。当源代码库发生变革时,SCM会自动向Jenkins发送一个请求,触发相应的构建。
Post-commit hook构建:当源代码库发生提交时,可以设置一个钩子自动触发Jenkins构建。例如,在Git中,可以在.git/hooks/post-commit中设置一个脚本,当提交发生时,该脚本将自动运行并触发Jenkins构建。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Jenkins详细教程(下载安装、构建部署到Linux)