最近在使用公司的jenkins进行自动部署项目,由于之前没有用过,一直半生不熟,因此特意写个随机记录。

1.登录jenkins服务

jenkins安装好后,我们通过浏览器访问它的主页(如下),输入用户名和密码进行登录。

2.建立新的项目

由于这是公司的服务器,因此上面之前已经安装好了几个其他的项目,这次我是需要建立一个新的项目,因此点击箭头所指的“New Item”

3.输入项目名称,并选择项目类型。

我这里为了方便自由配置,选择了第一个“Freestyle project”

4.配置相关内容

#每次项目更新,构建时候抛弃之前旧的构建,最大记录数设置为20.

#配置使用的JDK,有时候服务器上有多个版本JDK,最好是我们自己指定版本,以防出现版本错误的情况。

#配置版本控制器,由于我使用的是SVN,因此这里配置的是项目的SVN地址,下方Credentials是验证信息

#配置完版本控制后,在下方选择“Always check out a fresh copy”,以保证每次构建项目都是最新代码,而且不需要我们进行手动同步。

#配置MAVEN信息。我这里使用的maven构建项目,包括编译打包发布等,因此这里配置MAVEN的相关信息,"Goals"配置的是maven的打包指令,先clean旧文件,再install新文件,同时-Dskip Tests跳过测试。

同时我们还添加了一个“Execute shell”,里面一共有两句话:

“BUILD_ID=DONTKILLME”:这里是因为jenkins会存在杀死衍生进程的情况,配置这条命令可以阻止它乱杀。

“sh /******/**.sh”:sh命令不用多说了,就是运行sh文件的意思。我这里编写了一个运行脚本,maven打包之后,由这个脚本来运行jar。

#下面的内容纯粹就是分享一下我的这个脚本

内容比较简单,就是先检查程序是否在运行中,如果是,就先强行杀死程序(kipp -9)。

由于maven的install指令将jar安装在了maven仓库中,我们直接从仓库将项目包cp到指定的目录下。

然后通过java指令启动jar文件。

tomcat_pid=`ps -ef | grep java | grep autopayment-data.jar |awk '{print $2}'`
echo $tomcat_pid
if [ -n "$tomcat_pid" ]; then
echo "Current autopayment-data Pid:" ${tomcat_pid}
kill -9 ${tomcat_pid}
echo "This autopayment-data Had Shutdown!"
fi
echo "Now autopayment-data Is Starting To Publish..."
#curl -X POST http://localhost:9070/autopayment/shutdown
rm -rf /u01/autopayment-data/autopayment-data.jar
cp /usr/local/mvnRespo/com/hrtpayment/autopayment-data/1.0-SNAPSHOT/autopayment-data-1.0-SNAPSHOT.jar /u01/autopayment-data/autopayment-data.jar
echo "start autopayment-data ....."
cd /u01/autopayment-data
nohup java -jar -Xmx1024m -Xms256m -Xmn128m -Xss256k -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 /u01/autopayment-data/autopayment-data.jar --spring.profiles.active=dev &

到此,我们的自动构建项目已经配置完成。

最新文章

  1. lintcode 最长上升连续子序列 II(二维最长上升连续序列)
  2. button hot key 热键
  3. phpstorm 2016.2 的最新破解方法(截止2016-8-1)
  4. cookie跨域,跨目录访问及单点登录。
  5. D2 前端技术论坛总结(下)
  6. (原创)LAMP教程3-下载centos6.4
  7. js中的异常处理try...catch使用介绍
  8. PHP与MySQL动态网站开发2
  9. 关于SQL IO的一些资料
  10. windows 触发桌面图标布局保存
  11. [Unity3D]Unity3D游戏开发《反对》说到游戏(上)——目标跟踪
  12. SQL开发中容易忽视的一些小地方(一)
  13. c#入门系列——基础篇
  14. Mysql使用alias 防止对数据的误操作
  15. [HNOI 2003]激光炸弹
  16. php项目中使用element.ui和vue
  17. 【.NET Core项目实战-统一认证平台】第二章网关篇-定制Ocelot来满足需求
  18. jenkins 基本配置
  19. Linux下开启计划任务日志
  20. JS动态生成表格后 合并单元格

热门文章

  1. js遍历获取表格内数据方法
  2. 大数据、AI“武装”企业服务:风控、检索、安全
  3. codeforces 1131D-Gourmet choice
  4. 2019牛客暑假多校赛(第二场) F和H(单调栈)
  5. StringBuffer清空
  6. python数据类型初始1
  7. NEO4J的安装配置及使用总结
  8. 提示microsoft incremental linker已停止工作解决方法
  9. Luogu P1401 城市(二分+网络流)
  10. sql调优的总结