最近在使用公司的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. 开源的DirectUI界面开发库DUILIB试用demo (Win32程序)

    Demo 第三版源码VC2005工程(附全部.h,ansi/unicode lib,dll),下载地址:http://goo.gl/c0L7Q   开源项目地址:http://code.google. ...

  2. 在自己的工程中使用开源界面库Duilib

    配置duilib库 一个简单的使用Duilib程序一般要在stdafx.h中进行配置(链接duilib的文件,包括头文件).通常的配置代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  3. coreseek 基与Sphinx 的全文索引

    假设有两张那个表,分别为articles,article_photos两张表.搜索的时候,要匹配articles.title.articles.intro.article_photos.caption ...

  4. JavaScript学习笔记:数组的indexOf()和lastindexOf()方法

    https://www.w3cplus.com/javascript/array-part-6.html

  5. C++中无数据成员的类的对象占用内存大小

    结论: 对于没有数据成员的对象,其内存单元也不是0,c++用一个内存单元来表示这个实例对象的存在. 如果有了数据或虚函数(虚析构函数),则相应的内存替代1标记自己的存在. PS:以下代码均在win32 ...

  6. 最棒的7种R语言数据可视化

    最棒的7种R语言数据可视化 随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在 ...

  7. vue-cli 本地环境 API 代理设置和解决跨域

    前言 我们在使用 vue-cli 启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以 localhost: 来请求接口数据的,localhost 是没有办法设置 coo ...

  8. Delphi版俄罗斯方块-前奏

    前言 基础知识讲了很多,但是并没有串联起来,所以我最近一直在准备个小项目,但是这个项目的要求不含有数据库部分,也就是数据持久存储的功能,此外不能含有网络功能,它只是对基础知识的一个总结,最后一点是这个 ...

  9. python学习笔记3.2_数据导出

    一.data.to_csv:数据导出 1.to_csv:将数据导出为逗号分隔的文件 2.输出为其他分隔符的文件 写入到控制台,并打印:sys.stdout na_rep:对空值进行标注 二.serie ...

  10. 启用或禁用对 Exchange Server 中的邮箱的 POP3 或 IMAP4 访问

    https://docs.microsoft.com/zh-cn/Exchange/clients/pop3-and-imap4/configure-mailbox-access?view=exchs ...