在windows下安装Jenkins,并使用Jenkins打包,然后部署jar包到服务器

说明:Jenkins是部署在自己的电脑上的(windows系统),代码是在git上,测试环境是Linux系统
过程:
①使用Jenkins从git上拉取最新代码
②拉取代码后打包
③打包后发布到测试环境
④发布到测试环境后启动服务

1、Jenkins和JDK工具(在百度云中,本次使用的版本如下)
另外还需要git和Maven(在百度云中)
Jenkins下载地址:https://www.jenkins.io/
百度云:https://pan.baidu.com/s/1Au1nb6bkqMGa2T-fpMwzYg 提取码:69pz

JDK版本:1.8



Jenkins版本:2.303.3


注意:JDK和Maven需要配置环境变量
2、安装Jenkins
①打开终端->进入Jenkins目录下->输入命令:java -jar jenkins.war --httpPort=8080
②在浏览器中输入localhost:8080->打开Jenkins登录页面
③输入密码->安装默认的插件(不安装也可以,后期也可以安装)->进入Jenkins主页


3、安装Jenkins插件
Manager Jenkins->Manager Plugins,进入插件管理页面。在其他页面配置时如果缺少选项,需要先在这里安装插件
Manager Jenkins配置管理页面


Manager Plugins插件管理页面

安装插件时会报错:

image.png

将https改为http,重启Jenkins服务,然后去安装插件,安装时总是下载失败,多安装几次试试,或者使用不同的镜像地址安装,我安装时也是一直失败,换了好几个镜像地址,其中有一个镜像安装成功了一部分,我又把地址改为了当前的http://updates.jenkins.io/update-center.json,第二天来了安装又可以了
安装Jenkin插件的两种方式:
①直接下载,Manager Jenkins->Manager Plugins->Available->选中插件安装
②下载插件到本地,然后导入到插件管理中Manager Jenkins->Manager Plugins->Advanced->Upload Plugin->选择下载到本地的插件安装
插件下载地址:http://updates.jenkins-ci.org/download/plugins/
4、配置Jenkins
①配置全局变量 Manager Jenkins->Global Tool Configuration
配置Maven

配置JDK

配置Git

配置Maven


②配置凭证
添加git凭证:Manager Jenkins->Manager Credentials->golbal->Add Credentials



③配置SSH,Manager Jenkins->Configure System->Publish over SSH->SSH Servers


测试linux地址:在windows下通过ssh命令链接linux,# ssh root@ip,回车输入密码即可


5、创建项目
①新增项目




②配置项目,
配置General



配置Source Code Management

配置Build Triggers 和 Build Environment

配置Build
Goals: clean package -D maven.test.skip=true -P product,清class文件,打包构建,跳过测试,注意最后一个 -P product
配置完bilid后就可以立即构建了,会将代码拉取到本地并打包
生成的路径:C:\ProgramData\Jenkins\.jenkins\workspace\项目名称



配置Post-build Actions
配置完Post-build Actions,就能将本地的包上传到Linux服务器了,并可以启动服务

  启动服务的命令一直不对,找了好久才找正确,不太清楚原因,使用最后一行直接在linux上启动是成功的,放到Jenkins中一直失败,出现了5个情况,第一个情况是分支代码上传错误,可先在linux上验证一下命令是否正确;第二情况是内存不够了,清理没用的日志;第三种情况,加上source /etc/profile,第四种情况,加上BUILD_ID=dontKillMe,第五种情况使用PIDS=`ps -ef | grep admin.jar | grep -v grep | awk '{print $2}'` for pid in $PIDS;do kill -9 $pid;done
source /etc/profile
BUILD_ID=dontKillMe
PIDS=`ps -ef | grep admin.jar | grep -v grep | awk '{print $2}'` 
for pid in $PIDS;do kill -9 $pid;done
nohup java -jar -Xms120M -Xmx180M /opt/test/admin.jar >/opt/test/out &

6、Build Now立即构建

进入项目下->Build Now->Console Output



  构建成功并启动项目验证一下就OK了,到此一个非常简单的部署就完成了。
  在这里如果命令执行失败了不会在Jenkins日志里面体现出来,可以先到Linux服务器上执行一下命令看是否正确

  立即构建出现了一种情况,就是构建过程中取消了构建,然后Jenkins服务就挂了,通过浏览器启动不了,就直接执行了java -jar jenkins.war,登录后发现项目全部都丢失了,解决方法见7

7、启动Jenkins
①命令:java -jar jenkins.war
②命令:net start jenkins
③浏览器中输入:http://localhost:8080/restart

  使用命令java -jar jenkins.war启动,该方式以系统的java_home路径中的java程序来执行的,以web容器来启动。默认路径为在用户的目录生成.Jenkins目录作为默认工作目录【C:\Users\Administrator\.jenkins】
  使用命令net start jenkins启动,该启动方式以Jenkins.exe作为宿主,采用windows服务的方式启动。 默认路径为由jenkins.xml配置中"JENKINS_HOME"所决定的,默认的工作目录是%ProgramData%\Jenkins\.jenkins【C:\ProgramData\Jenkins\.jenkins】。


  使用前两种方式启动出现的问题:由于当时服务中断使用了两种不同的方式启动,导致出现了以上两个路径,且路径中都有登录密码,但两个密码是不一样的,其中一个密码可以登录,另一个不可以登录,登录后发现之前创建的项目都没了,考虑是不同的密码导致的,将密码改为相同的以后,在“任务管理器”中启动服务可以登录成功了,所以为了避免出现这个问题,最好将两个启动方式生成的目录配置成一致
8、关闭jenkins
命令:stop start jenkins
浏览器中输入:http://localhost:8080/stop

发布和回滚见:Jenkins在windows环境发布,回滚

参考:
Jenkins手册:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/
Jenkins页面介绍:https://blog.csdn.net/weixin_57720070/article/details/117981109
Jenkins安装、部署:https://www.cnblogs.com/lukelook/p/11221585.html
Jenkins插件安装:https://www.cnblogs.com/channy14/p/11556799.html
Jenkins启动:https://blog.csdn.net/xiangqiang2015/article/details/84583375
Maven构建工具介绍:https://www.cnblogs.com/Yalena/p/7019552.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容