asp.net - 用git作为(.net的)部署工具
巴扎黑
巴扎黑 2017-04-22 09:00:27
0
3
546

我现在维护的一个asp.net站点(git做版本控制)
解决方案里包含了数个项目
并且经常会有图片等资源文件的改动

之前用vs发布站点 生成的部署文件夹 每个文件夹覆盖到对应的项目目录
这种做法需要发布多个项目(vs2010,没有按解决方案发布的功能)
并且有的项目图片多 传输到服务器端耗时长

后来自己按目录整理当前版本需要部署的文件 然后覆盖到服务器
但是整理文件的过程繁琐

目前打算用如下方式部署
通过
alias gitd='git --git-dir=.git-deploy --work-tree=.'
gitd init
创建一个叫 .git-deploy 的repo 与 .git作用于同一个目录
将这个repo push后
在需要部署的服务器上pull

但是查了下文档 似乎 .gitignore这个文件名是不可更改的
也就是说 同一个目录下 没法用2个gitignore分别维护不同的repo
当然可以通过添加文件前替换.gitignore的方法实现
不过我想知道 还有没有其他什么方法 可以简单地实现同一个目录 不同的.gitignore的效果

或者其他部署asp.net项目的方法

巴扎黑
巴扎黑

모든 응답 (3)
小葫芦

建议利用 git hooks实现自动化部署,在 git 服务器中的 hooks 文件夹内。post-receive可以检测到有心的 push。

假如生产环境的分之名为 deploy,在 post-receive 内写好脚本,判断若 deploy 分之有 push 到服务器,则执行一些列部署操作。

具体可以 Google 一下,github 上也有一些开源实现。

    刘奇

    现阶段微软给出的解决方案只有一个,Web Deploy,

    http://www.iis.net/downloads/microsoft/web-deploy

    比较MSI打包之类相对简单,与VS和IIS Manager有集成,自由可定制。但是学习成本有一些。

      小葫芦

      没错,你就用VS自带的就行了,它是配置在.csproj文件里面的,编译一次就可以啦。
      但是要启动编译.sln文件的msbuild参数。
      你参考这篇文章:http://weblogs.asp.net/srkirkland/archive/2012/05/14/ci-deployments-to-iis-via-ms-web-deploy-2-0.aspx

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!