Articles of 部署

从WDS移到MDT + WDS – 预留计算机名称

我们以前只使用WDS来部署我们的图像。 WDS被设置为请求批准新机器。 我们使用“名称和批准”选项来命名我们添加的机器。 如果它是预先存在的,它将使用AD中现有的计算机名称。 然后在我们的unattend.xml文件中,我们有Computername =%MACHINENAME%。 这就拿起了我们在批准时给的名字,并相应地设置了计算机名称。 我们现在正在实施MDT来pipe理我们的图像和驱动程序。 但经过testing,我们注意到它会分配随机的计算机名称。 我进入了部署任务序列的Unattend.xml,并在Specialize> amd64_Microsoft-Windows-Shell-Setup_neutral> Computername =%MACHINENAME%下添加了该值。 但是,当我们尝试应用图像时,在安装的这一点上出错。 如何configurationMDT部署以利用预先登台名称? 一些额外的信息: 成像过程中的错误信息: Windows无法parsing或处理通过[specialize]的无人参与答案文件。 应答文件中指定的设置无法应用。 处理组件[Microsoft-Windows-Shell-Setup]的设置时检测到错误。 setuperr.log: 2014-07-22 14:02:13,错误[setup.exe] [Action Queue]:Unattend操作失败,退出代码4 2014-07-22 14:02:13,错误[setup.exe]执行无人参与的GC失败; hr = 0x0; pResults-> hrResult = 0x8030000b

如果最初安装的是手动的,我可以通过组策略升级程序吗?

我们有一个程序,当它们被初始设置时,它们是在工作站上手动安装的。 我们现在需要升级这个软件,我希望通过组策略来完成。 我使用Orca创build了一个MST。 它似乎工作使用msiexec /i application.msi /q TRANSFORMS=my_mst.mst 。 但是,当我们添加包和MST通过组策略进行部署时,应用程序不会更新。 它被用作计算机configuration,以避免用户pipe理权限的任何问题。 根据我的理解,组策略软件部署的行为应该匹配msiexec /i application.msi /q TRANSFORMS=my_mst.mst 。 有什么我可能会失踪?

使用Nginx和PHP FPM进行primefaces部署

我试图获得primefaces部署,我不想丢失/丢弃任何请求。 我使用Capistrano部署代码,经典的情况是你有一个'当前'目录,这是'release'文件夹中最新版本的符号链接。 我正在使用Nginx,带有Opcache的PHP 5.5 FPM。 遵循在Nginx中使用$ realpath_root的想法,我期望一个简单的nginx重载就足够了,但事实并非如此。 用nginx重新加载,似乎我没有丢失任何请求,但php-fpm仍在执行前一个旧目录中的代码。 如果我做了一个“PHP的FMP重新加载”,然后PHP FPM阅读新的目录,但我仍然可以看到,我失去了一些要求: 'recv()失败(104:连接重置对等),而从上游读取响应头“ 问题是: 我应该重新加载PHP FPM吗? 根据我的理解,nginx将path传递给php-fpm,并从nginxdebugging日志中看到,通过的path是正确的,但是php-fpm仍然执行旧path。 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script var: "/shop/www/htdocs/current/web" 2014/09/23 17:13:22 [debug] 26234#0: *1742 posix_memalign: 00000000010517A0:4096 @16 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script copy: "SCRIPT_FILENAME" 2014/09/23 17:13:22 [debug] 26234#0: *1742 http script var: "/shop/www/htdocs/ive/releases/20140923124417/web" 2014/09/23 17:13:22 [debug] 26234#0: *1742 […]

具有参数化的cloud-init脚本(参数化)

很长的故事 我正在准备安装监控软件代理的 cloud-init脚本( 声明:我是MonitOwl的创始人之一 )。 代理软件收集信息(如内存或networking统计信息)并将其发送到服务器。 每个公司组都应该连接到自己的个性化服务器URL,如: https : //customer_name.example.org 。 cloud-init脚本是Content-Type: multipart/mixed; 从github下载代理,安装systemd服务并安装python需求。 目前我们使用它如: # ec2-run-instances –user-data-file <our_generated_file> 对于我们的内部部署,我们使用ansible(VARS参数化),但现在越来越多的人要求使用cloud-init脚本。 目标 我想为所有公司提供一个通用的cloud-init脚本,并提供与服务器的URL参数。 我想把这个cloud-init脚本放在我们的github仓库中,以便更好地安装agent的经验。 问题 不幸的是,我发现的唯一方法是准备一个单独的脚本生成器 ,它将创build带有硬编码URL的云脚本脚本。 有没有什么好方法来实现我的目标? 我不敢相信,在开发cloud-init时,canonical没有考虑参数化。

Apache不提供我的Python应用程序

所以这里是我的Apacheconfiguration: LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so <VirtualHost *:80> ServerAdmin [email protected] ServerName 31.220.49.197 WSGIDaemonProcess ts threads=25 WSGIProcessGroup ts Alias /static /home/email-validator/static WSGIScriptAlias / /home/email-validator/index.wsgi # Set access permission <Directory /> Allow from all Require all granted </Directory> </VirtualHost> 这是我的index.wsgi: import os import sys import site # Add the app's directory to the PYTHONPATH sys.path.append('/home/email-validator') sys.path.append('/home/email-validator/email_validator') os.environ['DJANGO_SETTINGS_MODULE'] = 'email_validator.settings' […]

使用WMIC部署的软件需要在启动之前重新启动

我有一个微软我试图部署通过WMIC。 MSI安装完成没有错误,但我不能启动已安装的应用程序,直到我重新启动电脑。 如果我尝试一下popup,然后closures。 只要PC重启,应用程序运行良好。 如果我通过从Windows资源pipe理器运行MSI本地安装MSI,则应用程序将立即运行,无需重新启动。 如果我使用msiexec从命令行本地安装MSI,则应用程序也会立即启动,无需重新启动PC。 只有通过WMIC安装,我才能使用已安装的应用程序,我需要重新启动。 这里是我从服务器上的命令提示符下运行的命令(推荐使用'runas'命令作为pipe理员帐户运行cmd): wmic /node:pc_name product call install true,"" , "c:\PathToMSI\File.msi" 如何解决为什么安装的应用程序在通过WMIC进行部署时需要重启?

从基于Linux的Jenkins VM部署Azure Web应用程序

我有一个运行Jenkins的Ubuntu虚拟机,可以运行构build和准备可部署的工件。 目前,这些工件正在成功发送到Azure的blob存储。 不过,我现在需要build立一个Jenkins的工作,当被触发时会采取一个特定的工件,并将其部署到我的Web应用程序。 不幸的是,目前我还不清楚什么是我的最佳select是让我的内置和准备项目的Web应用程序。 以下是我希望澄清的一些项目: Azure是否支持从存储直接部署? 我怀疑如果这是一个选项,一切都会更容易! 如果是这样,我可以从基于nodejs的CLI使用它吗? 如果没有,我可以使用基于nodejs的CLI来发送工件,还是我被迫使用FTP? 如果我被迫使用FTP,是否有办法从我的虚拟机中推断凭据,因为它在Azure上运行? 如果我被迫使用FTP,在上传所有内容之前是否必须清除所有内容? 我知道Web应用程序支持插槽,所以我想知道这些也许是值得利用的一些方面呢? 明显的声明,虽然是的,我已经GOOGLE了这一点,没有一个结果清楚地概述了一个基于CLI的部署stream程可能是什么样子。 至less有一个结果隐约隐含了CLI部署的可能性,然后将您转移到安装说明页面。

从远程系统部署域控制器时,SERVER2012 R2核心访问被拒绝

我已经安装了Windows Server 2012 R2核心版本,并希望将其推广到我的第一个域控制器。 我打算使用安装在客户端计算机上的服务器pipe理器来执行此操作。 我使用服务器pipe理器连接到服务器,并能够安装AD DSangular色和DNSangular色。 安装后,当我想部署域控制器,但是我得到一个错误: 尝试configurationAD DS时发生意外错误。 尝试获取域信息时遇到错误。 访问被拒绝 使用与安装angular色相同的用户时,会发生这种情况。 服务器IP已被设置为静态,DNS服务器指向自己,客户端和服务器是同一工作组的一部分。 我在Windows 8.1和Windows 10上都使用了RSAT工具。 作为一个停止差距,我把服务器pipe理器安装在服务器本身上,从那里我可以部署域控制器。 但是,我想了解为什么它不是从远程系统工作。 所有这些都是在虚拟机上完成的(不是真正的硬件),因此我可以在部署之前回到状态。

如何恢复本地GPO用户login/注销脚本设置?

我正在部署多台Windows 7计算机,并应用GPOPack(通过MSCM的LocalGPO实用程序导出)来设置本地GPO(此处不包含AD)。 我的问题是login和注销脚本设置不会通过LocalGPO工具导出或GPOPack方法保留。 我正在谈论gpedit.msc中的User Configuration/Windows Settings/Scripts (Logon/Logoff)/设置 我无法find它们的“物理”表示(registry或%windir%\system32\GroupPolicy\下的文件系统)。 在部署期间,我确保在导入GPOPack之前,在%windir%\system32\GroupPolicy\User\Script\[Logon|Logoff]下复制被调用的脚本。 是否有脚本/命令行方式来设置这些设置,或者从正在运行的系统上的本地GPO导入/导出它们?

部署企业应用程序时如何在Linux上回滚更新

回滚到Linux上已部署的企业应用程序的最佳做法是什么? 考虑这种情况,我们有一个应用程序服务器 (假设它是由gunicorn服务的django),一个数据服务器 (mysql)和一个任务服务器 (芹菜)。 我已经部署到不同的服务器。 源代码由gitlabpipe理。 在进行更新时,发生了一些错误,需要回滚。 主要有两种途径: 首先在django中使用migrate命令来回滚数据服务器的状态; 其次在应用程序服务器和任务服务器上 ,在更新之前备份源代码,以及在回滚时备份备份。 在更新之前closures所有服务器并创build服务器的快照。 当我们需要回滚时恢复到快照。 方法2当然更安全。 但成本昂贵。 由于情况正在为企业开发应用程序,所以我不太确定Docker是否可以接受。 我担心的是数据服务器的回滚,因为表结构可能会改变,并且里面有真实的数据。 如果我们使用docker,我不太确定如何处理数据服务器,是否需要一个映像?