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

我现在维护的一个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의도적인 푸시가 감지될 수 있습니다.

프로덕션 환경의 브랜치 이름이 배포인 경우 수신 후 스크립트를 작성하고 배포 브랜치가 서버에 푸시되었는지 확인한 후 일련의 배포 작업을 수행합니다.

Google에서 자세한 내용을 확인할 수 있습니다. Github에도 일부 오픈 소스 구현이 있습니다.

刘奇

현 단계에서 Microsoft는 Web Deploy라는 단 하나의 솔루션만을 보유하고 있습니다.

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

MSI 패키징에 비해 비교적 간단하고 VS 및 IIS 관리자와 통합되어 있으며 자유롭게 사용자 정의할 수 있습니다. 하지만 약간의 학습 비용이 있습니다.

小葫芦

그렇습니다. VS와 함께 제공되는 것을 사용하면 됩니다. .csproj 파일에 구성되어 있으며 한 번만 컴파일하면 됩니다.
하지만 .sln 파일의 msbuild 매개변수 컴파일을 시작하세요.
다음 문서를 참조하세요: http://weblogs.asp.net/srkirkland/archive/2012/05/14/ci-deployments-to-iis-via-ms-web-deploy-2-0.aspx

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿