你还在手动发布代码吗?累不?

1、Auto_Build_EAS.bat

@echo off 

@echo -------------------------
@echo Only change variables below
set MSBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set BuildType=Release
set WorkingSpace=D:\workingspace\projects\shgt_erp\trunk
set SourceDir=%WorkingSpace%\02-Sources
set SolutionDir=%SourceDir%\N-EAS
set SolutionPath=%SolutionDir%\NI.EAS.All.sln
set BinOutput=BinOutput

rem cd to the folder of this command
pushd %~dp0

@echo -------------------------
@echo Start to get latest and build NI.EAS.All solution

@echo Remove old log files
del logs\ /Q /S /F

@echo -------------------------
@echo Get Lastest for %WorkingSpace%
svn update %WorkingSpace%
@echo Get Lastest Finished
@echo -------------------------

@echo Clear BinOutput
del %SolutionDir%\%BinOutput%\ /Q /S /F
@echo Clear Binoutput Finished
@echo -------------------------

@echo Building Start

call %MSBuildDir%\msbuild %SolutionPath% /t:Rebuild /p:Configuration=%BuildType% >> logs\NI.EAS.log

@echo Building Finsihed
@echo -------------------------

find "0 Error(s)" logs\NI.EAS.log && echo "no error" > logs\no_error.txt

if exist logs\no_error.txt (goto succeed) else (goto failed)

:succeed

call Deploy.bat %SolutionDir%

call Deploy_Jobs.bat %SourceDir% %BuildType%

echo deploy succeed

pause
exit

:failed
echo deploy failed

pause
exit

----------------------------------------------------------------------------
2、Deploy.bat

set SolutionDir=%1

set DestDir=D:\EAS

set ServiceDir=%SolutionDir%\Service
set ServiceDestDir=%DestDir%\Service

set PortalDir=%SolutionDir%\Portal\NI.EAS.Presentation.Web
set PortalDestDir=%DestDir%\NI.EAS.Presentation.Web

set APIDir=%SolutionDir%\Portal\NI.EAS.Presentation.API
set APIDestDir=%DestDir%\NI.EAS.Presentation.API

@echo Backup the latest version
del bak\ /Q /S /F
xcopy %DestDir%\*.* bak\ /S /Y /exclude:skipFiles.txt

@echo Copy to destination

net stop w3svc

xcopy %ServiceDir%\*.* %ServiceDestDir%\ /S /D /Y /exclude:skipFiles.txt
xcopy %PortalDir%\*.* %PortalDestDir%\ /S /D /Y /exclude:skipFiles.txt
xcopy %APIDir%\*.* %APIDestDir%\ /S /D /Y /exclude:skipFiles.txt

net start w3svc
iisreset /restart

----------------------------------------------------------------------------
3、Auto_Build_Jobs.bat
@echo off 

@echo -------------------------
@echo Only change variables below
set MSBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set BuildType=Release
set WorkingSpace=D:\workingspace\projects\shgt_erp\trunk
set SourceDir=%WorkingSpace%\02-Sources
set SolutionDir=%SourceDir%\N-EAS
set SolutionPath=%SolutionDir%\NI.EAS.All.sln
set BinOutput=BinOutput

rem cd to the folder of this command
pushd %~dp0

@echo -------------------------
@echo Start to get latest and build NI.EAS.All solution

@echo Remove old log files
del logs\ /Q /S /F

@echo -------------------------
@echo Get Lastest for %WorkingSpace%
svn update %WorkingSpace%
@echo Get Lastest Finished
@echo -------------------------

@echo Clear BinOutput
del %SolutionDir%\%BinOutput%\ /Q /S /F
@echo Clear Binoutput Finished
@echo -------------------------

@echo Building Start

call %MSBuildDir%\msbuild %SolutionPath% /t:Rebuild /p:Configuration=%BuildType% >> logs\NI.EAS.log

@echo Building Finsihed
@echo -------------------------

find "0 Error(s)" logs\NI.EAS.log && echo "no error" > logs\no_error.txt

if exist logs\no_error.txt (goto succeed) else (goto failed)

:succeed
call Deploy_Jobs.bat %SourceDir% %BuildType%

echo compile succeed

pause
exit

:failed
echo compile failed

pause
exit

------------------------------------------------------------------------------
4.Deploy_Jobs.bat

set SourceDir=%1
set BuildType=%2

set FinancialJobDir=%SourceDir%\AutoInterfaceTask\InterfaceTask\TaskService\bin\%BuildType%
set ScheduleJobDir=%SourceDir%\N-EAS\Jobs\NI.EAS.Jobs\bin\%BuildType%

set FinancialJobDestDir=D:\ServiceRun\Debug
set ScheduleJobDestDir=D:\Scheduler\bin\Release

@echo Backup the latest version
del bak_jobs\ /Q /S /F
xcopy %FinancialJobDestDir%\*.* bak_jobs\ServiceRun\ /S /Y /exclude:skipFiles.txt
xcopy %ScheduleJobDestDir%\*.* bak_jobs\Scheduler\ /S /Y /exclude:skipFiles.txt

@echo Copy to destination

rem net stop Finance

rem xcopy %FinancialJobDir%\*.* %FinancialJobDestDir%\ /S /D /Y /exclude:skipFiles.txt

rem net start Finance

net stop ERPSchedluer

xcopy %ScheduleJobDir%\*.* %ScheduleJobDestDir%\ /S /D /Y /exclude:skipFiles.txt

net start ERPSchedluer

你还在手动发布代码吗?累不?

时间: 2024-10-14 09:30:53

你还在手动发布代码吗?累不?的相关文章

webService总结(二)——使用CXF手动发布webService(不使用Spring)

上篇博客:webService总结(一)--使用CXF发布webService(不使用Spring) 介绍了不使用Spring自动发布webService,这篇博客介绍第二种方法--使用CXF手动发布webService(不使用Spring). CXF自动发布webService,我们使用的是Tomcat服务器.而使用CXF手动发布webService我们不再使用Tomcat,取而代之的是内嵌的jetty服务器.其实,jetty跟Tomcat并没有本质的区别,只是表现的形式不同,使用方法不同.既

git发布代码到github过程和常见错误

在对git有了基本了解之后,并且常常看到很多人在github上发布代码和开源项目时,就会想如何也把自己的代码发布到github上,并能够不断的跟踪版本变化. 现在就有几个想要做的事. 一.如何把自己已经写好的代码发布到github里面? 假设这次第一次把代码发布到github,要对整个过程有个了解,首先在远程上要创建一个仓库,这个仓库是空的,只有初始的README.md,接着在本地的项目目录进行项目初始化(初始化git的项目文件和目录)相当于创建一个本地的仓库,初始化之后就要把项目的文件添加到g

(初学pyton)自己搭建的一套测试自动化发布代码的django

因为这个项目目前就我一个运维在负责,休假后也是因为一些更新的事情找我,感觉是不是应该搭建一个自动化发布平台比较好呢.由于开发语言只学了些python,所以想用django来做. 苦于前端不是很熟,而网上看到一个大神做好的一个框架,所以拿来用下,如果有侵权,请联系我,我立马删除. 这里放下截图,并且说下思路.如果谁有好的解决思路,请告知我. 这里加了个验证码,但是试了好多次,验证码三个字放在输入框前面就会乱了格式,前端好渣. 这里的思路是:git log -1 获取到hash 时间 autor.顺

带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服务器 1.我购买的是阿里云服务器,购买后要设置一下服务器密码,默认用户名是administrator,购买好后如下: 2.申请好后,copy一下此服务器的IP地址(公有),在本地ping一下看看是否可用,j键盘Win+R,输入cmd,输入ping+IP回车,如下即为成功: 二.配置服务器 1.下载远

【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)

概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知道CocoaPods,那可能要面壁30秒了.直奔主题,这篇文章主要介绍如果把你的代码发布到CocoaPods代码库中,让别人可以使用“pod search yourOpenProject”命令查找到你的代码. 在2014年5月20日以前,发布代码到CocoaPods可以使用这篇文章.但时过境迁,出于安全性等方面的考虑,CocoaPods团队放弃了该方式,使用本文要说的trunk方式,用流程图表示如下:(图片来自Co

jenkins git公有仓库与私有仓库发布代码

1 发布php代码 - jenkins已经搭建完成,现在开始来做一个php发布代码的任务 - 在发布php代码时先看看是否有两个插件 在系统管理-管理插件- 已安装插件- 检查是否有"Git plugin"和"Publish Over SSH"两个插件,如果没有,则需点击"可选插件",找到它并安装 [[email protected] jenkins]# systemctl restart jenkins //重启服务 - 需要生成一对密钥对用来

通过Git WebHooks+脚本实现自动更新发布代码

需求: 写一个自动化部署脚本,能根据git push动作自动更新发布代码(补丁文件(或更新文件,以下简称补丁)) 解决方案: 通过git webhooks.python脚本.Linux Shell脚本完成,所有动作均自动完成,人工部分仅限于发布补丁文件之前 git webhooks实现触发执行脚本 python脚本用于接收git webhooks的post数据并根据这些数据判断是否执行shell脚本 Linux Shell脚本用于实现部署.备份.回滚等操作 具体步骤(方案实现): 实现原理: 用

通过Git WebHooks+脚本实现自动更新发布代码之shell脚本

前文讲述了<通过Git WebHooks+脚本实现自动更新发布代码>,里面提供了一种自动更新发布代码的脚本编写思路.本文的脚本与前文中的思路不太不同.本脚本以capistrano中的一些思想和理念为依据,用简单好理解的shell脚本实现capistrano原本实现的自动化部署部分. 脚本的一些特点和功能: 解决脚本的符号链接问题,准确获取脚本工作目录(从tomcat脚本中学到): 颜色显示,不同级别的信息用不同的颜色显示(共两种方案,前一种从一位不知名的国外工程师处得到,后一种从lnmp1.2

main 函数执行以前以及以后,分别还会执行什么代码?(转载)

main函数执行之前,主要就是初始化系统相关资源: 1.设置栈指针 2.初始化static静态和global全局变量,即data段的内容 3.将未初始化部分的全局变量赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容 4.运行全局构造器,估计是C++中构造函数之类的吧 5.将main函数的参数,argc,argv等传递给main函数,然后才真正运行main函数 (1)全局对象的析构函数会在main函数之后执行: (2)可以用_onex