1
fy 2016-06-09 00:58:14 +08:00 via Android 1
直接找微软要技术支持怎么样?
|
2
ipconfiger 2016-06-09 01:49:26 +08:00 1
自己写个服务来做能有多难?
|
3
xupefei 2016-06-09 01:53:43 +08:00 1
有钱上 Norton 企业管理全套,远程操作自动部署一条龙。
没钱叫微软技术支持给你写 powershell 脚本,毕竟 Windows Server 就是买服务。 |
4
Septembers 2016-06-09 02:49:39 +08:00 1
搞个 活动目录 然后推送吧所有机器全部登陆上去 推送个 策略组 完成
|
5
doun 2016-06-09 04:38:48 +08:00 via Android 1
不是还有 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 1
好像有 PowerShell remote 什么什么的?进去之后的 shell 是 PowerShell 不是 cmd
|
8
levon 2016-06-09 08:33:35 +08:00 1
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 1
微软说:别来 linux 的那一套
|
11
timothyye 2016-06-09 09:50:01 +08:00 via Android 1
不是有 clickonce 么?
|
12
zaishanfeng 2016-06-09 10:00:33 +08:00 via Android 1
windows 对运维来说就是噩梦 不对是噩耗
|
18
venster 2016-06-09 11:40:15 +08:00
|
20
mxq0923 2016-06-09 12:34:55 +08:00 1
ansible windows modules
|
21
janxin 2016-06-09 12:46:45 +08:00
微软的不找微软技术支持的都是折腾...
|
23
thinkif 2016-06-09 18:54:21 +08:00 1
如果是 web 应用可以考虑使用 web deploy ( https://www.iis.net/downloads/microsoft/web-deploy )
|
24
tomczhen 2016-06-09 19:19:47 +08:00 1
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 1
那就不要用 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 的脚本同步至各个服务器,目前来看我们全自动化比较难,用钩子估计会出问题
|