最近在使用公司的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 &

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

jenkins自动部署的更多相关文章

  1. Jenkins自动部署Tomcat项目

    Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:

  2. 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建

    使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...

  3. 使用Jenkins自动部署博客

    title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...

  4. 内存溢出导致jenkins自动部署到tomcat失败

    原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...

  5. jenkins自动部署代码到多台服务器

    下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...

  6. 关于gitlab+jenkins自动部署代码的实现

    本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...

  7. Jenkins自动部署spring boot

    Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...

  8. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

  9. Jenkins自动部署增加http状态码校验

    公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一 ...

  10. jenkins自动部署tomcat

    关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...

随机推荐

  1. HashMap四种遍历方式

    public static void main(String[] args){ Map<String,String> map = new HashMap<String, String ...

  2. VMware的下载安装

    在学习使用LINNX系统之前,先在自己的电脑上安装一个虚拟机,流行的虚拟机软件有VMware(VMWare ACE).Virtual Box和Virtual PC,它们都能在Windows系统上虚拟出 ...

  3. MyEclipse使用总结——将原有的MyEclipse中的项目转成maven项目[转]

    前面一篇文章中我们了解了 在myeclipse中新建Maven框架的web项目 那么如果我们原来有一些项目现在想转成maven项目应该怎么做呢 我收集到了三种思路: 一.新建一个maven项目,把原项 ...

  4. Windows的SEH机理简要介绍

    1.异常分类 一般来说,我们把Exception分为2类,一类是CPU产生的异常,我们称之为CPU异常(或者硬件异常).另一类为是通过调用RaiseException API产生的软件异常,我们称之为 ...

  5. SPSS与Streams的集成实现实时预测

    SPSS与Streams的集成实现实时预测 SPSS Modeler 是一个数据挖掘工作台,提供了一个可了解数据并生成预测模型的最先进的环境.Streams 提供了一个可伸缩的高性能环境,对不断变化的 ...

  6. <每日一题>题目6:二分查找

    #二分查找 ''' 1.end问题 2.44对应的end<start 找不到情况 3.返回值递归的情况 4,611,aim太大的情况 ''' l = [2,3,5,10,15,16,18,22, ...

  7. C# 判断当前请求是GET、还是POST ?

    方法一: HttpContext.Current.Request.RequestType == "POST"   //当前请求为:POST 方法二: if(Request.Serv ...

  8. ftp文件上传下载命令

    介绍:从本地以用户wasqry登录的机器1*.1**.21.67上通过ftp远程登录到ftp服务器上,登录用户名是lte****,以下为使用该连接做的实验.  查看远程ftp服务器上用户lte**** ...

  9. mysql高级教程(三)-----数据库锁、主从复制

    锁 概念 锁是计算机协调多个进程或线程并发访问某一资源的机制.  在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性. ...

  10. dom4j和document

    DOM的优点和缺点: 优点:DOM操作思维清晰,简单 缺点:在操作大量数据的时候性能,不能保证 DOM(Document Object Model) // 表示出需要被操作的XML文件的路径,注意是文 ...