jenkins官网: https://jenkins.io/

jenkins.war 的下载地址

链接:https://pan.baidu.com/s/1fhlnxpkQwwkIzurGdrqEiA

提取码:nn32

准备环境

linux 服务器一台 (version:7.4 ,bit:64)

服务器安装好 JDK (version:1.8 ,bit:64)

服务器安装好 tomcat (version:8.0.52)

服务器安装好 maven (version:3.5.0)

服务器安装好 svn /git (两个选一个安装,我这里以svn为例)

将下载好的 jenkins.jar 放到 ./tomcat/webapps/ 目录下,并启动 tomcat (jenkins.war可以去官网下)

请保证上述环境都已准备完毕…

登录jenkins

启动 tomcat 后,在浏览器输入:localhost:8080/jenkins (我的tomcat使用的是 8080 端口)

jenkins第一次启动时会将密钥存在一个文件中,当第一次登录时,需要进行验证。我们将页面中提示的路径打开,将里面的内容填入图中的文本框中,然后我们点 Continue

初始化中,让子弹飞一会~

这个页面提示你安装一些插件,左边是 jenkins 推荐安装的插件,右边是告诉你可以自已选择哪些装。

Tips: 如果没有特别要求,可以选择左边的窗口,后期需要安装其它插件的话,也可以再到 jenkins 页面安装

楼主这里选择左边 jenkins 推荐的一些插件,如图上,正在安装中…

Tips: 这个过程需要联网!

创建一个超级管理员用户,信息请自行填写。Tips: 后续登录 jenkins需要使用到的登录信息

访问 jenkins 的路径配置,如果无特殊要求,默认就好。

jenkins 已经准备就绪,我们点 start using jenkins 就可以看到它的管理界面了

安装Maven插件

jenkins第一次创建 maven项目,需要先安装maven插件,否则在创建项目的时候没有构建Maven项目这一选项

在主页面选择 系统管理,再选择插件管理

在输入框中输入:Maven Integration,勾选,并安装它

配置全局环境

在主页面选择 系统管理,再选择全局工具配置,我们进行,jdk、maven 的配置

以下配置的路径全都是服务器该软件的安装路径,请不要配置错

创建一个maven项目

在主页面选择New任务,开始创建一个项目,并在弹出的页面方框中输入你的项目名称,输入名称后,我们选择 “构建maven项目”,点 OK,进入下一步。

简单的说一下,如何让当前项目与你 svn 或 git 上的代码进行关联

在下图中选择 Git 或 Subversion (我以svn为例,git差不多)

Repository URL 中 输入你的代码地址

Credentials 是拉这个代码需要的账号和密码,点击右边的 Add可以添加(只需要输入username 和 password 这两项就行了)

这里不得不提一下 Build Triggers,有时候项目需要自动触发,比如说提交代码后触发、定时触发等等,都需要在这里配置。

这里留个todo,有时间我一定会补上!

指定项目的构建信息

Root POM 指定项目的 pom.xml 的路径

Goals and options 指定构建时所附加的参数

clean install -Pprod -Dmaven.test.skip=true

clean install 是maven的常用命令,不再解释

-P 是指定启动的环境,我所指定的是prod,表示加载 application-prod.yml 里面的配置(多配置前面博客中有提到)

-Dmaven.test.skip 指在编译、打包时不执行测试用例,也不编译测试用例类

1

2

3

4

执行自定义的脚本

jenkins 把项目构建完成后,生成的 war/jar会在/root/.jenkins/workspace/项目名/项目名/target/目录下,我们利用命令将 war/jar 复制到指定目录下,然后执行 sheel脚本进行发布

BUILD_ID=DONTKILLME

cp /root/.jenkins/workspace/offline-app-order/offline-app-order/target/offline-app-order-1.0-SNAPSHOT.jar /usr/local/projects/offline-app-order/application-temp.jar

sh /usr/local/projects/offline-app-order/run-app.sh

1

2

3

第一行:防止 jenkins 构建完成后杀掉 sheel 进程,导致自动部署失败

第二行:将 jenkins 打的包复制到服务器的 指定位置,并重命名为 application-temp.jar

第三行:执行一个自己写好的 sheel 脚本(此脚本完成杀进程,重启进程的工作) - 该脚本放在本文的最后!

1

2

3

重要:配置完成后,点击Save将所有配置进行保存!

构建项目

上面的操作完成后,在主页可以看到刚创建好的项目,我们点这个项目名称,进入项目详情

点击立即构建按钮,开始构建项目

构建开始时,可以在左下角看到条目,也可以点开条目,看构建日志

红色圆圈:构建失败

蓝色圆圈:构建没问题,脚本执行也没问题,但是不保证项目能启起来 (说不定有其它服务器问题)

查看构建日志(无论怎么构建失败的,都可以进去看日志,日志里面会写的很详细)

最后,分享一个我服务器上的脚本(run-app.sh)

#!/bin/sbin

present_time=`date +%Y%m%d%H%M%S`

echo "current time: ${present_time}"

temp_jar_name=application-temp.jar

normal_jar_name=offline-app-order.jar

jar_path=/usr/local/projects/offline-app-order/

log_file=/usr/local/projects/offline-app-order/logs/application-run.log

LANG=UTF-8

echo "=============== publish =============="

echo "step 1: stop application"

pid=`ps -ef | grep ${normal_jar_name} | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

echo "kill -9 ${normal_jar_name}, pid is: ${pid}"

kill -9 $pid

fi

echo "step 2: backup application"

#mv ${jar_path}/${normal_jar_name} ${jar_path}/${normal_jar_name}-${present_time}

rm -rf ${jar_path}/${normal_jar_name}

echo "step 3: replace application-temp.jar to application.jar"

mv ${jar_path}/${temp_jar_name} ${jar_path}/${normal_jar_name}

cd ${jar_path}

echo "step 4: chmod application"

if [ -f "${normal_jar_name}" ]

then

echo "chmod 777 to ${normal_jar_name}"

chmod 777 ${normal_jar_name}

fi

cd ${jar_path}

echo "step 5: start application"

nohup java -jar ${normal_jar_name} > ${log_file} 2>&1 &

echo "publish is ok"

#echo "nohup java -jar ${normal_jar_name} > ${log_file} 2>&1 &"

jenkins教程菜鸟_使用 jenkins 自动化部署应用(写给新手的)相关推荐

  1. jenkins教程菜鸟_菜鸟 jenkins自动化测试构建实战

    之前写了一个karate框架的接口自动化项目,一直想通过jenkins定时跑起来,这样就方便实时监控接口运行动态了,于是乎我决定在本地下载docker搭建个jenkins容器来构建该项目~ 对于doc ...

  2. maven配置自动部署到服务器上,jenkins+svn+maven安装配置并自动化部署成功(超级详细)...

    jenkins+svn+maven安装配置并自动化部署成功(超级详细) jenkins+svn+maven安装配置并自动化部署成功(超级详细) 简言 写这篇博客的原因是因为每次部署服务器的流程都是在做 ...

  3. (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)

    前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...

  4. (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)

    前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...

  5. jenkins结合ansible用shell实现自动化部署和回滚

    最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...

  6. Jenkins + 云效 前后端项目自动化部署

    环境安装 创建目录 后续下载的内容 放在里边方便管理 cd /mkdir dockercd dockermkdir maven mkdir jenkinsmkdir javamkdir registr ...

  7. java部署平台_开源Java自动化部署平台JDeploy

    JDeploy是Java + Shell实现的基于Linux系统的自动化.可视化的项目部署平台,能部署Java服务.Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkin ...

  8. 开源运维管理软件排名_云上自动化部署和运维的正确姿势

    导读:今天起,"凌云时刻"特别推出"阿里云玩转 ECS"系列课程,每周二.周四固定更新,欢迎关注.本期为系列第 1 讲,由阿里云资深技术专家吴君印介绍上云最正确 ...

  9. java自动化部署平台_开源Java自动化部署平台JDeploy

    JDeploy是Java + Shell实现的基于Linux系统的自动化.可视化的项目部署平台,能部署Java服务.Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkin ...

最新文章

  1. 什么是 C 和 C ++ 标准库?
  2. mysql保留字-关键字表
  3. vscode regex previewer插件怎么用_分享五款开挂神器!助你效率倍增!做PPT怎么能不会用插件?...
  4. markdown这么好用的东西我才知道。。。多么不折腾的我。。。
  5. Studio系列教程来啦
  6. C++ - 操作运算符
  7. android 改变音乐格式,音乐速度变更器app-音乐速度变更器下载v9.4.4-hu安卓版-西西软件下载...
  8. 腾讯微博开放平台授权教程(一)
  9. Typora上传图片终于解决了
  10. php 利用gd库及tcpdf 自动多图片生成pdf
  11. PNP三极管工作原理
  12. date_sub函数
  13. 蒙提霍尔问题及其推广
  14. 房贷要不要提前还款两种还款方式比较
  15. [附源码]计算机毕业设计Python作业查重系统(程序+源码+LW文档)
  16. 一个人如何“破圈”?
  17. GBase SQL语法(一)
  18. 温州富商透露发财22条秘诀:坚持看新闻联播
  19. matlab 深度学习黑暗图片画质增强
  20. 电脑故障维修大全 [2]

热门文章

  1. 什么是独立服务器,它与VPS有何不同?
  2. 王者荣耀服务器维护中可是别人能玩,王者荣耀在玩时候被别人登了怎么办 | 手游网游页游攻略大全...
  3. ae等高线_等高线圆圈图形动画AE脚本 Aescripts Topograph v1.0.2 + 视频教程
  4. 怎么用css画一个心形_如何用CSS创建心形
  5. 【转】关于NFS讨论 参数说明
  6. 哈哈!真的很经典!选两句作为你的个性口头禅吧
  7. 【百度百科】SHSH
  8. 安卓 background的图片随着textview的大小而改变_苹果4G内存吊打安卓8G内存?看看苹果是怎么虐安卓的!...
  9. JAVA SpringBoot部署自己的Chatgpt网站实录
  10. linux sockaddr in,Linux C中sockaddr和sockaddr_in的区别