利用svn hooks将php程序自动发布到测试环境 复制仓库hooks目录下的post-commit.tmpl为post-commit cp post-commit.tmpl post-commit 将post-commit修改为: REPOS="$1" REV="$2" #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf export PATH="/usr…
说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况,效果很不满意 这篇文章主要就是为了解决两个问题: 1.配置问题 2.容器发布运行问题 为了解决这两个问题也是费了我不少精力,首先shell编程你的会啊,做一个DevOps真心累,关于Jenkin拉去代码的问题这里不多说,主要针对上面2个问题说下我个人的观点 微服务架构都是有配置中心,为了解决第一个…
#!/bin/sh #修改为服务编码 export LANG=zh_CN.utf- #Set variable REPOS="$1" REV="$2" SVN=/usr/bin/svn WEB=/home/www/develop LOG=/var/log/svn/post-commit.log #update the code from the SVN $SVN update $WEB --username username --password passwd --…
不废话,直接代码: D: cd D:\src\testproj\PrecompiledWeb svn revert ../ -R svn update .. rmdir BS /S /Q C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe ..\testproj.sln /p:DeployOnBuild=true;PublishProfile=..\BS\App_Data\PublishProfiles\publish.pubx…
使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记事本,我们根据需要进行修改,然后点击保存.(文本保存格式utf-8或ASCI) 2.利用fiddler重定向功能访问本地数据 打开AutoResponder标签设置,enable rules的作用是开启或禁用自动重定向功能. 我们就可以在下面添加重定向规则了.Unmatched requests p…
最近公司项目处于开发阶段,很多功能开发完后就需要发布到测试环境等待测试去验收,这个时候如果手动更新网站的话,是很费时费力的. 于是乎,我们做成了自动发布,这样我们只管提交代码到SVN就行了,发布由软件自动完成.接下来就讲下,如何实现SVN的自动发布. SVN自动发布首先需要在服务器部署一个Jenkins软件.由于Jenkins软件是基于Java环境的,所以要使用Jenkins,首先需要保证系统中已经安装了jdk,如果您的系统还没有安装,可以通过下面的地址下载安装即可. jdk1.7下载地址:ht…
注:本文来源于<KaliArch> jenkins笔记 一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.Jenkins是一种软件允许持续集成. 1.2 Jenkins目的: 1.持续.自动地构建/测试软件项目.2.监控软件开放流程,快速问题定位及处理,提示开放效率. 1.3 特性: 开源的java语言开发持续集…
分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用svn hooks 脚本post-commit时遇到的故障…
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成SLB.配置管理.Jenkins)>,这个主要是用于投产环境运维平台自动发布的集成,对于前面的环节使用Jenkins构建包,并发布到测试环境并没有详细的说明,现在发文记录一下. 分成两篇来写<Jenkins持续集成(上)-Windows下安装Jenkins>.<Jenkins持续集成(下…
本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitlab开发分支merge后自动发布到test环境 gitlab master分支merge后自动发布到prod环境 Jenkins Config 安装插件Gitlab, 使用教程: https://github.com/jenkinsci/gitlab-plugin#pipeline-jobs 安装插…
使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集成平台.每个构建都在一个临时的Docker容器中执行,使开发人员能够完全控制其构建环境并保证隔离.drone易于安装和使用,其目标是替代jenkins 本文所实现的的功能为当你push代码到gogs时,自动更新您测试环境的二进制文件并重启,实现自动部署(以go开发api服务为例,测试环境为ubunt…
出于管理需要,也需要在公司内部实现自动发布流程.当开发机提交SVN代码之后,自动同步到测试服务器进行测试. 网络的拓扑简化为: 1台核心SVN服务器,使用的svn管理软件为Subversion Edge3.2版本,Subversion核心版本为1.8.x,内网IP为:xx.xx.xx.54: 1台Web服务器,CentOS6.5 x64,内网IP为:xx.xx.xx.53. 基本的操作流程如下: 一.创建版本库: 在Subversion Edge中创建版本是比较简单的.假设创建好的版本库为:ht…
# CentOS下安装SVN yum -y install subversion svnserve --version cd /home/ mkdir svn cd svn/ /usr/bin/svnserve -d -r /home/svn/ # 启动SVN服务 svnadmin create /home/svn/test/ # 创建版本仓库 vi /etc/rc.local # 新增以下内容 /usr/bin/svnserve -d -r /home/svn/ # 先设置 passwd ,并…
我们最终的目的是:当本地提交后,SVN服务器自动更新服务器端指定WEB目录内的文件 实现方法: 找到服务器端 SVN版本库所在的目录(目录名称是Repositories),这个目录是在安装VisualSVN Server设置的,根据你安装时的设置找到Repositories这个目录,在这个目录下面找到你创建的项目目录,在项目目录下面找到hooks目 录,在此目录中创建一个名为post-commit.bat的批处理文件,内容如下: @echo off "D:\VisualSVN Server\bi…
一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http://www.cnblogs.com/mrblue/p/3885043.html 感谢小波同学 概述 平台:mac 例子工程:基于cocos2dx引擎的项目 事实:就是一组shell脚本和一些工具 我的 目录结构 Work |-----Project |---------cocos2dx |-----…
课题起因: 目前我们团队使用visual studio 2013开发asp.net项目, 使用tfs2013 做源码管理, 每天早上手动发布项目文件包,复制到测试服务器的站点文件夹下覆盖老文件,用此方式发布系统,甚至一天数次.低效费力.   课题目的:利用 tfs 做自动发布asp.net站点,无需人工干预,能够在代码签入时或定时进行asp.net项目发布.   研究结果:初步成功   自动发布系统配置过程:   环境检查 客户端: visual studio 2013 开发环境 ,能够正常连接…
一直想实现自动部署,这里说的自动部署,是指点击一个按钮(或定时执行),让计算机将最新的应用程序发布到相应的环境(UAT或PRD)中. 自动部署的意义 自动部署能省去繁琐的人工发布步骤:如配置得当,发布的执行稳定性(成功率)会比较高. 这样主要有几点意义: 避免繁琐的人工发布.在开发阶段,User总比我们着急,希望快些看到新开发完成的模块,并进行适当的UAT测试.这就可能要求我们完成一个模块的开发和测试后,及时发布到UAT环境中.这时,如果我们配置好定时自动部署.这将避免了繁琐工作,事半功倍. 严…
C#Winform程序如何发布并自动升级(图解)     有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解) 其实打包是打包,发布是发布两者是没有任何关系的,只是有些同志会分不清楚.混在一起了. 下在面大家就和我一起来做一个发布并升级的程序吧. 首先我们准备几个工作 1.新建一个存储发布后程序的目录比如D:\iis\textWinform  以下简称-- 发布目录…
由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下: 1.进入 /home/svn/cmall/hooks (svn的安装目录,根据操作系统,路径各有不同) cp post-commit.tmpl post-commit 2.修改post-commit权限(必须可写,本人比较懒,直接777) sudo chmod +x post-commit 3.编辑post-commit vim post-commit…
先说这个方式的一个弊端,那就是服务器端这边代码不能与svn服务器出现冲突,一旦冲突就失效. 实现原理是,利用svn版本库,hooks目录的bat钩子开展工作. 共在hooks目录下建立3个文件如下:post-commit.bat 作用是:钩子入口!postcommit.log 作用是:记录最后一次执行的结果(可以记录最后一次报错)建立一个空文件就好!post-commit-run.bat 作用是:自动更新的核心部分! post-commit.bat的代码是: call %~dp0post-com…
安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/svndata 4.建立版本库 创建一个新的Subversion项目svnadmin create /www/svndata/project 5.版本库配置 进入对应的版本库如nilrxx,里面有一些自动给生成的文件.在conf目录下就是我们需要配置的三个文件:authz …
通常,有几种方式可以在SVN仓库发生改变时触发Jenkins进行构建.第一种是,Jenkins主动轮询SVN仓库:第二种是,在SVN客户端(如TortoiseSVN)创建客户端hooks来触发构建:第三种是,在SVN服务器端,创建仓库hooks来触发构建.而我所要介绍的就是这第三种. 在http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks这里可以找到如何创建仓库hooks…
阅读此篇文章你可以: 对SVN Hooks有一定的了解 获取两个最常用的SVN Hooks案例 SVN hooks介绍 Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好的脚本代码来实现某些功能,类似于JS中的监听事件.MySQL中的触发器.Django中的signals信号等 大多数开发语言都可以用来编写hooks脚本,常用的如windows下的bat.vb,linux下的shell.python等 SVN中的hooks按照所在位置可以分为两类,客户端hooks和…
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: linux(5)  一.安装Subversion #yum install subversion     二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn 2,新建一个版本仓库# svnadmin create /home/svn/project 3…
一.  背景     平时在进行开发时,一般都会有多版本同时进行,包括项目版本.周版本.紧急版本等,当某一个版本具备上线条件后,需要在上一个已发布的版本基础上进行发布,才能够避免出现版本相互覆盖,因此往往需要对版本之间代码进行合并,这里就和大家探讨下如何合并代码,让合并代码质量高以及高效. 二.合并代码的常规方法 常规的方法是用Beyond Compare 工具来进行手工合并代码,该工具的最主要作用是对比出有哪些代码是不相同,然后人为地判断出哪些需要合并,哪些不需要合并.因此如果判断失误,则合并…
使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看到缺陷修改的结果 3.不要求测试环境程序稳定,但要求更新及时 4.部署人员想偷懒 5.位于不同地点.但各自都可以发布版本的小团队 下面看看步骤 1.在SVN服务器上第一次checkout版本 "D:/Program Files/VisualSVN Server/bin/svn.exe" c…
从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信息挂钩,同时这个工具也支持回滚代码包.因为涉及到sftp的相关操作,最初选择了paramiko这个饱受好评的第三方库.可是当时该库只支持Python2,所以我的这个自动化工具在Python2的环境下编写. 最近又在写一个原创的WEB自动化测试框架,在Python3环境编写,所以我装了个虚拟机,WIN…
项目中都是jsp开发,所以用到Tomcat. 在我文章中也写过多个Tomcat 的部署,具体可以参考:http://www.cnblogs.com/magmell/p/7045193.html SVN项目目录:/home/svn Tomcat访问目录:/usr/local/tomcat/多个tomcat端/webapps/ROOT 把SVN项目检出到Tomcat各个webapps下的ROOT目录中. cd /usr/local/tomcat/多个tomcat端/webapps/ROOT 检出到当…
1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件. QT开发的程序发布的时候经常采用两种方式: l  静态编译,可生成单一的可执行文件. l  动态编译,需同时附上需要的dll文件. 2.  发布准备 不管采用哪种方式,首先我们要把项目的发布做一些准备,例如:准备程序的图标,将项目编译成release等.   2.1. 设置程序图标 应用程序…
#!/bin/sh #svn-maven-tomcat自动发布脚本 #变量设置 svnpath=svn://10.60.10.120/研发部/xx-maven svnusername=xxx svnpassword=xxxn888 workplace=xxepp projname=xxepp tomcat_server=10.60.10.161 webappsPath=/usr/local/tomcat/webapps #环境变量设置 export JAVA_HOME=/usr/local/jd…