我现在维护的一个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项目的方法
高洛峰2017-04-22 09:02:27
自動デプロイを実現するには、git サーバーのフック フォルダーで git フックを使用することをお勧めします。 post-receive
意図的なプッシュを検出できます。
実稼働環境のブランチの名前がdeployの場合、post-receiveでスクリプトを記述し、デプロイブランチがサーバーにプッシュされるかどうかを確認してから、一連のデプロイメント操作を実行します。
詳細については、Google で確認してください。github にはオープンソースの実装もいくつかあります。
怪我咯2017-04-22 09:02:27
現段階で Microsoft が持つソリューションは Web Deploy の 1 つだけです
http://www.iis.net/downloads/microsoft/web-deploy
MSI パッケージと比較して、比較的シンプルで、VS および IIS マネージャーと統合されており、自由にカスタマイズ可能です。ただし、学習コストがかかります。
高洛峰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