jenkins自动部署
最近在使用公司的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自动部署的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- Jenkins自动部署增加http状态码校验
公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一 ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- thinkPHP 字段映射功能
thinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式 ...
- Ubuntu GitHub操作——分支、合并与标签
分支 分支是用来将特性开发绝缘开来的.在你创建仓库的时候,master 是"默认的"分支.在其他分支上进行开发,完成后再将它们合并到主分支上. 创建一个叫做"featur ...
- BufferedReader用法
BufferedReader由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的 ...
- C语言中常用的字符串处理函数总结
C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存 ...
- xlwt/xlwt/Style.py excel样式源文件
from __future__ import print_function # -*- coding: windows-1252 -*- from . import Formatting from . ...
- uni-app中不使用scroll-view组件,监听页面滑直底部事件
最终达到的目标效果 将要用到 监听页面滚动事件:onPageScroll 获取节点信息uni.createSelectorQuery() 标签布局 <template> <view ...
- 导出SQL Server中所有Job的最简单方法
应用场景: 在将源SQL Server数据库服务器中的所有Job(作业)迁移至目标数据库服务器的过程中,需要先将这些Job导出为SQL脚本. 操作步骤: 1.在Microsoft SQL Server ...
- 转:Linux fork与vfork的深入分析
源地址:http://linux.chinaitlab.com/c/831529.html 一)fork的概述 .操作系统对进程的管理,是通过进程表完成的.进程表中的每一个表项,记录的是当前操作系统中 ...
- 通过Angular-cli创建新项目
前提:已经安装Git 方法一:(推荐) 1.在需要创建项目的文件夹中右键打开 Git Bush Here ,在此输入 ng new ‘项目名’ --skip-install (如下my-app ...
- Java 线程池 +生产者消费者+MySQL读取300 万条数据
1.1需求 数据库300 万条用户数据 ,遍历获取所有用户, 各种组合关联, 获取到一个新的json ,存到redis 上. 1.2 难点 数据库比较多, 不可能单线程查询所有的数据到内存. 1.3解 ...