svn+jenkins自动部署
- 需求:项目经理想要将原型图修改完后直接发布
前置条件:
已经有了svn服务器,并正常使用
- 已经有了jenkins服务器,之前搭建的gitlab+jenkins,
- 如需搭建jenkins,参考 https://www.cnblogs.com/lz0925/p/10858278.html,
- 如需自动部署到远程服务器,参考 https://www.cnblogs.com/lz0925/p/10860460.html
步骤
- 1、首先在jenkins上添加svn凭据,配置svn权限
- 点击凭据,然后点击任一(global)进入凭据管理

点击左侧的添加凭据


其中的用户名密码,是svn的账号密码,填错的话,创建jenkins任务时会提示
- 点击凭据,然后点击任一(global)进入凭据管理
- 2、创建一个自由风格的jenkins项目
- General部分,根据自己需求设置,也可以不设置
- 源码管理 ,这里的Credentials就是我们刚添加的svn账号密码,Repository URL 填写项目地址

- 然后保存,在任务列表中找到刚建立的任务并点击进入,点击左侧立即构建测试一下,如果正常,进行下一步
- 3、配置svn的钩子
- 进入svn服务器,进入svn的钩子目录,我的目录是/home/svn/MyRepository/hooks
- 下载jenkins命令行客户端 wget http://172.168.50.41:9999/jnlpJars/jenkins-cli.jar,(如遇到权限问题,尝试修改文件所属用户和组,我的用户和组都是root)
- 复制一份post-commit.tmpl模板,名称改为post-commit,赋予777权限
vim post-commit
```!/bin/bash
source /etc/profile
java -jar /home/svn/MyRepository/hooks/jenkins-cli.jar -s http://172.168.50.41:9999/ -auth admin:jinglan build svn_test
保存退出
其中
-s http://172.168.50.41:9999/ 是jenkins服务器
-auth admin:admin 是jenkins用户名和密码
-build svn_test 是指定构建jenkins的任务名称,
其实这里还需要指定svn中的哪个项目的commit动作,触发哪个jenkins的任务 ,
通过REPOS="$1" 判断即可,
我这自动部署的项目都在gitlab上,svn仅部署项目经理用的这个文件夹,所以没有进行判断
```
- 现在可以在本地修改文件,通过svn的commit即可部署到指定服务器的指定目录了。
- 如有jenkins不会用的,参考文章开头的两篇博客,如需构建后删除旧文件的,可以自己写文本,然后执行,或者直接将脚本写到jenkins中
svn+jenkins自动部署的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- 使用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.系统管理 -> 系统 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- Jenkins+Maven+SVN搭建自动部署、自动测试环境
.打开http://10.3.15.78:8080/jenkins/,第一次进入里面没有数据,我们需要创建job,我们这有2个项目,需要创建2个job.http://10.3.34.163:9890/ ...
- SVN——Jenkins自动发布
最近公司项目处于开发阶段,很多功能开发完后就需要发布到测试环境等待测试去验收,这个时候如果手动更新网站的话,是很费时费力的. 于是乎,我们做成了自动发布,这样我们只管提交代码到SVN就行了,发布由软件 ...
随机推荐
- IDEA快捷键(修改成eclipse版)+Templates
快捷键:使用快捷键需要下载改建的配置文件,默认eclipse版的按键还是不全的. 链接:https://pan.baidu.com/s/17H4tFh__k6rExGpAf8NRJg 密码:rnl3 ...
- CentOS 7系统配置上的变化
http://www.linuxidc.com/Linux/2014-09/107375p4.htm CentOS 7系统配置上的变化解析 ip ss指令替代 ifconfig route arp n ...
- PO BAPI "BAPI_PO_CREATE1"
DATA: poheader LIKE bapimepoheader, poheaderx LIKE bapimepoheaderx, poitem LIKE ...
- Python之滑动窗口
需求 对于一个数组array = ["n","v","l","f",...,"y","c& ...
- k8s 网络模型解析之原理
今天研究了一下k8s的网络模型,该解析基于flannel vxlan+ kubeproxy iptables 模式. 一.Docker 首先分析一下Docker层面的网络模型,我们知道容器是基于内核的 ...
- v-on可以监听多个方法吗?
原文地址 v-on可以监听多个方法 <template> <div class="about"> <button @click="mycli ...
- Postman配置环境变量添加token
postman测试接口时,每次都需要获取token以后,复制到接口里,特别复杂. 这里通过把获取token接口的返回数据添加到环境变量,然后将环境变量名设置在其他接口的token中,获取一次token ...
- Unity3D热更新之LuaFramework篇[04]--自定义UI监听方法
时隔一个多月我又回来啦! 坚持真的是很难的一件事,其它事情稍忙,就很容易说服自己把写博客的计划给推迟了. 好在终于克服了自己的惰性,今天又开始了. 本篇继续我的Luaframework学习之路. 一. ...
- 《Java语言程序设计》第三讲类与对象“动手动脑”
一.以下代码为何无法通过编译?哪儿出错了? 答: 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法. 二. (1)以下代码输出结果是什么? package xy; public cla ...
- 关于字符串中每个单词的首字母大写化问题之 拆分split(/\s+/)
var a = 'Hi, my name\'s Han Meimei, a SOFTWARE engineer'; //for循环 function titleCase(s) { var i, ss ...