
1 fy 2016-06-09 00:58:14 +08:00 via Android 直接找微软要技术支持怎么样? |
2 ipconfiger 2016-06-09 01:49:26 +08:00 自己写个服务来做能有多难? |
3 xupefei 2016-06-09 01:53:43 +08:00 有钱上 Norton 企业管理全套,远程操作自动部署一条龙。 没钱叫微软技术支持给你写 powershell 脚本,毕竟 Windows Server 就是买服务。 |
4 Septembers 2016-06-09 02:49:39 +08:00 搞个 活动目录 然后推送吧所有机器全部登陆上去 推送个 策略组 完成 |
5 doun 2016-06-09 04:38:48 +08:00 via Android 不是还有 click once 吗? |
6 beginor 2016-06-09 07:48:03 +08:00 via Android windows 自动部署用 powershell 脚本才是正道! |
7 Trim21 2016-06-09 07:50:40 +08:00 via Android 好像有 PowerShell remote 什么什么的?进去之后的 shell 是 PowerShell 不是 cmd |
8 levon 2016-06-09 08:33:35 +08:00 team city ,写发布脚本发布 |
9 dong3580 2016-06-09 09:07:12 +08:00 via Android 当然是 power shell 部署 |
10 tabris17 2016-06-09 09:07:14 +08:00 微软说:别来 linux 的那一套 |
11 timothyye 2016-06-09 09:50:01 +08:00 via Android 不是有 clickonce 么? |
12 zaishanfeng 2016-06-09 10:00:33 +08:00 via Android windows 对运维来说就是噩梦 不对是噩耗 |
18 venster 2016-06-09 11:40:15 +08:00 |
20 mxq0923 2016-06-09 12:34:55 +08:00 ansible windows modules |
21 |
23 thinkif 2016-06-09 18:54:21 +08:00 如果是 web 应用可以考虑使用 web deploy ( https://www.iis.net/downloads/microsoft/web-deploy ) |
24 tomczhen 2016-06-09 19:19:47 +08:00 windows 有自己的批量运维技术,基于 powershell 的,不过实施起来根据微软的特色都是各种捆绑,依赖比较重。 其实可以使用 svn 的 hook 配合文件同步软件( bysync / syncthing )来做自动部署。 上面说的 web deploy 有个问题就是需要额外打开端口,有被扫描和暴力破解的风险,如果使用微软的安全认证方案又是各种捆绑,简直蛋疼的要死。 不知道你们具体部署的是什么应用,我这边是用了 jenkins + svn hook 来做的 iis 自动部署 http://www.tomczhen.com/ci/jenkins/continuous-integration-on-jenkins-auto-deploy-iis-with-svn/ 不过公司规模小,如果是服务器比较多的话,方案要进行改进,可能也会用微软的方案了。 |
26 LeoQ OP |
27 LeoQ OP @tomczhen 但是这个同步有个问题就是到底同步成功没有不知道,希望有部署成功还是部署失败的返回,我现在暂时还没有搜你说的两个同步软件,一会我就去搜索一下 |
28 LeoQ OP @tomczhen 谢谢你的文章和思路,这个 iis 配置修改这个步骤很好,直接配置成新的地址,这样自然服务器上会有代码备份,在 svn 上也有二进制码的更迭,很棒 |
29 Flygoat 2016-06-10 15:59:02 +08:00 via Android 那就不要用 windows 呗, Linux 下.netcore 和 mono 跑起.net 来比 windows 还溜。 |
30 tomczhen 2016-06-10 17:34:16 +08:00 @LeoQ 第一个我打错了,应该是 btsync ,。 我这公司才 3 台服务器(我也想去一百台服务器的小公司, Orz ),之前有考虑过上百台的情况( windows )。 思路是独立一台 SVN 服务器集中管理更新文件(主要是为了版本回退和差异查看),对服务器根据应用分组。 利用微软的方案做批量远程执行 powershell 调用写好的 python 脚本,在 python 脚本中做同步拉取 SVN 的文件,并返回部署结果判断信息( python 的库多,很多功能容易实现)。 python 脚本要实现三个基本功能同步 /部署,上线,回退。 前期可以直接调用微信接口发送信息的方式接收结果,有需要可以实现一个后台来接收信息。 使用 jenkins 来做管理,必要的话可以在部署完成后跑个测试返回结果也是不错的。 另外吐槽一下, linux 下面运维实在是比 windows 方便多了,各种技术都有很完善的方案、资料,依赖比 windows 少很多(巨硬动不动就要你上 AD ), docker 更是方便得不要不要的。(然而我这公司就一台 linux 服务器还是我私心报方案弄出来的,) |
33 tomczhen 2016-06-11 09:33:58 +08:00 via iPhone @LeoQ 这个不算一个好方案,因为开发环境和生产环境差别太大,有些依赖问题容易和开发撕逼,而且如果项目依赖一些第三方库就没法玩了。 持续集成就是要一步一步来的,而且受阻是必然的,毕竟你真搞出来了,有人就要失业了。而且老板的角度讲,也不想太依赖特定员工来解决问题。 |
34 LeoQ OP @tomczhen 不太想考虑这些办公室政治,说个实话,很多人的工作就是让别人失业的,甚至做的完美连自己都失业了 依赖的第三方库, .net 不是特别的了解, php 直接放在代码里面, python 可以直接拷贝 virtualenv 或者 pip install |
35 asdasdqqq 2017-11-27 16:50:57 +08:00 我的方案是 写一个 gitpull 的脚本-更新代码,写一个 msbuild 的脚本-编译,写一个 rsync 的脚本同步至各个服务器,目前来看我们全自动化比较难,用钩子估计会出问题 |