Maison > Questions et réponses > le corps du texte
我现在维护的一个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
Il est recommandé d'utiliser des git hooks pour réaliser un déploiement automatisé, dans le dossier hooks du serveur git. post-receive
Une poussée intentionnelle peut être détectée.
Si la branche dans l'environnement de production est nommée déployer, écrivez un script en post-réception et déterminez si la branche de déploiement est poussée vers le serveur, puis effectuez une série d'opérations de déploiement.
Vous pouvez le rechercher sur Google pour plus de détails. Il existe également des implémentations open source sur github.
怪我咯2017-04-22 09:02:27
A ce stade, Microsoft n'a qu'une seule solution, Web Deploy,
http://www.iis.net/downloads/microsoft/web-deploy
Par rapport au packaging MSI, il est relativement simple, intégré à VS et IIS Manager et librement personnalisable. Mais il y a des coûts d’apprentissage.
高洛峰2017-04-22 09:02:27
C'est vrai, vous pouvez simplement utiliser celui fourni avec VS. Il est configuré dans le fichier .csproj et vous pouvez le compiler une fois.
Mais commencez à compiler le paramètre msbuild du fichier .sln.
Vous faites référence à cet article : http://weblogs.asp.net/srkirkland/archive/2012/05/14/ci-deployments-to-iis-via-ms-web-deploy-2-0.aspx