찾다

 >  Q&A  >  본문

asp.net - 用git作为(.net的)部署工具

我现在维护的一个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项目的方法

巴扎黑巴扎黑2800일 전671

모든 응답(3)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-22 09:02:27

    자동 배포를 위해 Git 서버의 Hooks 폴더에 있는 Git Hooks를 사용하는 것이 좋습니다. post-receive의도적인 푸시가 감지될 수 있습니다.

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

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

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-22 09:02:27

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

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

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

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-22 09:02:27

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

    회신하다
    0
  • 취소회신하다