jenkins+svn完整打包并上传到linux服务器上
因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境,
一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到linux跳板机上
一套是在linux环境上,把跳板机上的包上传到对应服务器上并备份以前版本,重启新jar包
今天先讲如何在windows环境上完成打包并上传到linux服务器上
步骤;
1、jenkins安装好,配置好jdk.maven 环境,本身就有的可以自定义路径的,没有的可以再jenkins自行安装,在jenkins系统设置的全局工具配置中,
1.配置好maven 配置中的settings路径,配置好maven设置,指定工作位置存放, settings.xml 设置 localRepository:(地址可以自定义,方便管理) ,一
2.jdk路径
3.maven路径

2.系统设置-全局工具设置配置好ssh

3.下载SSH Publishers插件并安装,这个工具是用来把打包的项目上传到跳板机上
jenkins基础数据搞好了,现在开始按照步骤开始打包并上传
1.新建一个maven项目
2.源码管理选择Subversion,正确填写svn项目路径和用户名密码
svn更新参数解释
Use‘svn update’ as much as possible
第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;
以后更新的时候,不会判断已有文件是否在svn里存在。比如工作目录下的文件123在svn里不存在,那么更新的时候不会删除123。
不会判断工作目录下的文件是否被改动,只会判断svn是否有新版本需要更新。比如工作目录下的文件zzz.txt内容为zzz,svn上的zzz.txt内容为空,如果svn上zzz.txt没有新版本,则在更新的时候不会更新zzz.txt,也就是说如果手动修改了工作目录下的文件,如果此文件在svn上没有出现新版本,就不会更新。一旦svn上的zzz.txt有新版本后就会更新工作目录的zzz.txt,这时工作目录下会生成如下几个文件:zzz.txt、zzz.txt.mine、zzz.txt.r223、zzz.txt.r224,其中zzz.txt.r223为svn上老版本、zzz.txt.r224为svn上新版本、zzz.txt.mine为工作目录上的zzz.txt的副本、zzz.txt记录了文件变化。
svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。但是如上例中的zzz.txt手动修改过,已经和svn上的不一样了,这时将不会被删除。
Alwayscheck out a fresh copy
第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;
每一次更新的时候,都会先清除工作目录下的所有文件,然后重新check-out一份完整的项目到工作目录下。
Emulateclean checkout by first deleting unversioned/ignored files,then ‘svn update’
第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;
以后更新的时候会判断工作目录下的文件是否在svn里存在,如果不存在则删除,如果存在且有新版本则更新。
会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。
svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。
Use‘svn update’ as much as possible,with ‘svn revert’ before update
第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;
以后更新的时候不会判断工作目录下的文件是否在svn里存在。
会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。
svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。

3.构建触发器选择构建什么样的触发,可以选择手动,轮询,定时构建
参数解释
build whenever a snapshot dependency is built
当job依赖的快照版本被build时,执行本job。
build after other projects are built
当本job依赖的job被build时,执行本job
build periodically
隔一段时间build一次,不管版本库代码是否发生变化。
poll scm
隔一段时间比较一次源代码如果发生变更,那么就build。否则,不进行build。
Poll SCM:定时检查源码变更,如果有更新就checkout最新code下来,然后执行构建动作。
如果没有更新就不会执行构建
Build periodically:周期进行项目构建(源码是否发生变化没有关系)
每15分钟构建一次:H/15 * * * * 或*/5 * * * *
每天8点构建一次:0 8 * * *
每天8点~17点,两小时构建一次:0 8-17/2 * * *
周一到周五,8点~17点,两小时构建一次:0 8-17/2 * * 1-5
每月1号、15号各构建一次,除12月:H H 1,15 1-11 *
*/5 * * * * (每5分钟检查一次源码变化)
0 2 * * * (每天2:00 必须build一次源码)
4.构建环境
参数解释
Delete workspace before build starts:默认删除所有的,也可以设置删除特定的文件
- Patterns for files to be deleted:正则匹配删除哪些文件
- Apply pattern also on directories:规则是否也应用到文件夹
- Check parameter:是否删除,是个bool值,true则删除,false不删除.为毛感觉这个有点鸡肋
- External Deletion Command:执行外部删除命令
Abort the build if it’s stuck:构建阻塞的时候,根据超时策略处理.
- Time-out strategy:超时策略,有绝对时间,相对时间,根据以前的构建时间判断等
- Time-out variable:超时时间
- Time-out actions:超时后的处理,如终结,faile调或者写描述
- Add timestamps to the Console Output:在输出界面添加时间戳
- Use secret text(s) or file:使用密文,用于全局性的管理密码等,勾选后会在下方出现Binding,输入需要的用户名,密码证书等就可以了
5.Pre Steps bulid执行之前的操作,可以再这里设置参数,没什么特殊需要的话,一般不需要填写,使用默认设置就即可
6.bulid 项目
有点事,后面再继续写,。。。。
jenkins+svn完整打包并上传到linux服务器上的更多相关文章
- 将windows下的文件上传到Linux服务器上
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lx_Frolf/article/deta ...
- 中文名文件上传到linux服务器上以后文件名会乱码(openoffice)
1.中文名文件上传后保存在linux服务器上文件名会乱码,但是我们通过SSH直接对服务器上的一个文件进行重命名是可以使用中文的,而且显示出来是正确的,这说明服务器是可以支持中文的. 2.而为什么上传的 ...
- 通过XShell实现windows文件上传到Linux服务器上
.XShell上传文件到Linux服务器上 在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输 1:首先连接上一台Linux主机 2: ...
- 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
- 编译的java工程压缩上传到linux服务器上后,中文的类名显示乱码
首先声明,类名是用中文命名的,这个别人写的,不允许修改. 本地用7zip软件压缩成zip包,传到服务器解压,发现中文的class文件名称是乱码. 解决办法: 方法一:使用jar命令打成jar包,传到服 ...
- windows文件上传到linux服务器上
https://blog.csdn.net/m0_37751917/article/details/80739850 1:检查是否安装sz rz rpm -qa |grep sz rpm -qa | ...
- linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。
首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...
- 使用Maven打包项目并上传到Linux服务器
Maven打包: 项目右键Run as-->Maven build...--> 出来下面的界面,注意红色部分的填写,Goals填写package表示打包,下面的Skip Tests表示打 ...
- 发布新的模型类包(用于上传到 NuGet 服务器上)
生成包文件: 1.修改了模型类之后,在项目上点击右键,在列表菜单中选择 “编辑 …….csproj”,然后将里面的三个版本号都换成新的版本号. 2.右键项目,点击“打包” 3.复制输出信息中生成的包的 ...
随机推荐
- [转载]使用IEDriverServer.exe驱动IE11,实现自动化测试
转自:https://www.cnblogs.com/feiquan/p/8531618.html 下载地址: http://dl.pconline.com.cn/download/771640-1. ...
- vi编辑器使用记录
01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...
- WEB API系列(一):WEB API的适用场景、第一个实例
在我前一篇博客中已经给各位简单介绍了HTTP协议与RestFul API的关系,以及一些基本的HTTP协议知识,在这些知识的铺垫下,今天,我们一起来讨论一下WEB API的适用场景,然后写我们第一个W ...
- HTML标记
html:超文本标记语言 标记,标签,元素 单标签:<标签名 属性名="属性值" 属性名=“属性值” /> 双标签:<标签名 属性名="属性值” 属 ...
- mongo学习笔记2--索引及表设计
-背景: 鉴于我们使用mongo作为数据库,期间少不了需要添加索引和对业务表进行设计.因此以下我对mongo索引及表设计原则做了一些分享.希望对大家有用,如有错误还望指正~ MongDB的索引类型简介 ...
- java之JVM(一)
内存模型: Java内存模型建立在自动内存管理的概念之上.当一个对象不再被一个应用所引用,垃圾回收器就会回收它,从而释放相应的内存. JVM从底层操作系统中分配内存,并将它们分为以下几个区域: 方法区 ...
- nodejs window平台上 以服务运行
刚学nodejs 想使用 sc create 来创建服务,但是倒腾了很久没有弄出来,创建是成功了,使用 net start 启动服务报错,没有控制功能.后来网上找了一下 发现这个东西:nssm 使用 ...
- Docker和jenkins实现springboot自动部署
准备: 一个springboot项目.一台虚拟机(centos 7). 安装: linux安装docker 更新yum:yum update 下载docker: yum –y install dock ...
- 当你的layui表格要做全选+删除功能【兼容ie8】
<!-- 全选 --> <div class="choose"> <input type="checkbox" id=" ...
- asp.net 跨域访问
摘自 https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests- ...