问题标签 [automated-deploy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
deployment - 共享运行时环境有哪些好的部署和发布策略?
现状
对于我们的客户,我们正在开发一些库和应用程序,它们在作为内部 Java Web Start 应用程序交付的更大应用程序中作为“模块”运行。客户维护运行此应用程序的基础架构。“服务器端”由一些基于 Axis2 的 Web 服务组成。这两个部分都作为两个单独的 Web 应用程序部署到单个 Tomcat 实例。
当我们发布新版本的工件时,我们只需生成必要的 JAR 文件(例如 ourapp-client.jar 和 ourapp-server.jar)并将它们发送给我们的客户,然后他们将它们放到适当的位置,然后——如果需要,重新启动 Tomcat 服务器。
目标
我们目前正在对我们所有的项目进行 Maven 化,未来我们还希望以“Maven 方式”进行发布。主要目标是自动化我们方面的发布和部署过程,并使其更不容易出错,在客户端更可靠和舒适。
主要问题
棘手的部分是我们的客户使用相同的 Tomcat Web 应用程序(Axis2 用于“服务器端”和 Web Start 应用程序)将他们自己开发的模块包含到应用程序中。因此,我们不能使用显而易见的解决方案,而只是交付一个简单地部署到服务器中的全新 Web 应用程序 (WAR)。这就是为什么我们目前正在交付“手动”放置到正确位置的单个 JAR 文件。
您通常使用哪些策略将产品交付给客户?有人有过类似情况的经历吗(例如,第三方和自行开发的应用程序的共享运行时环境)?
windows-services - MSDeploy安装windows服务?
我们有一个使用 NServiceBus 发布事件的网站。该站点是使用 msdeploy 部署的。我们还有 NServiceBus.exe,它应该作为 Windows 服务运行以订阅这些事件,我们也想部署它。
有没有办法将服务和网站打包,以便也可以安装?是否可以单独打包,以便我们可以将其部署到另一台服务器?
任何关于在哪里可以找到有关如何执行此操作的信息的提示都会很棒,因为我们现在可以为网站进行自动部署。
language-agnostic - CruiseControl.net 有多种语言?
我刚开始在一个使用多种编程语言、没有源代码控制并且没有自动部署的环境中工作。
我有兴趣推荐 VSS 进行源代码控制并使用 CruiseControl.net 进行自动部署,但我只将 CC.NET 与 ASP.NET 应用程序一起使用。是否可以使用 CC.NET 来部署 python、php、ASP.NET 和??? 来自同一个实例的应用程序?
continuous-integration - CI:Automated Build Studio vs. Hudson vs. Atlassian Bamboo
什么是可以支持跨平台、Windows、Linux 和 macOS 的远程构建和部署并且具有成本效益的最佳工具?现在正在使用 Groovy(grails)、Java 和 .NET
谢谢
php - PHP 自动化部署和测试
我在这里问了一个关于自动部署自动部署java代码的问题。
我们的后端 Java API 由 PHP Web 应用程序访问。如果能够在对 PHP 代码执行自动测试的同时将这个 Web 应用程序(以及 CSS、JS 和图像等静态文件)自动部署到我们的 Web 服务器上,那就太好了。PHP有类似的东西吗?
我还想知道作为此自动化测试的一部分,您是否可以检查每个实际页面加载时是否没有致命错误。我确信我读到了一个谷歌项目,它允许你编写页面测试,例如点击链接 a、转到页面 b 等。
谢谢
asp.net - 有人建议.net Web 应用程序的部署工具吗?
堆叠朋友,
我的公司正在遵循敏捷开发流程。我们计划使 .net 应用程序发布管理流程自动化。而且我们是部署行业中紧随其后的工具的新手。请任何人给您宝贵的提示和建议。
git - 如何在 Capistrano 的 deploy.rb 中指明 Git 用户名和密码?
我正在使用 github 存储存储库,并且正在阅读Deploy with Capistrano:
远程缓存将在您部署到的服务器上保留一个本地 git 存储库,并简单地从中运行获取,而不是整个克隆”。
由于我正在部署的服务器是“我的”共享主机,因此我必须在那里安装 git。
当我们这样做时,我们通常会定义一个 git 用户名和 git 密码。我们应该把它们放在这个 deploy.rb 文件的什么地方?
到目前为止,我有:
我们不应该在某个地方以某种方式在 deploy.rb 文件中放置对我的共享主机 git 密码的引用吗?
我有部署服务器用户:
这个密码是来自 github 用户的密码,还是我们应该在这里输入我们的共享主机密码?
asp.net - 如何为 ASP.NET 设置此部署过程?
我经营着一家使用 ASP.NET(Webforms 和 MVC)的小型 Web 开发商店。我们确实为各种客户工作,因此随时可能有许多项目处于活动状态(有些只是在等待维护更新或错误修复)。
目前我们以非常手动的方式部署(FTP 文件到服务器,远程到服务器,将实时站点复制到备份文件夹,将新文件复制到实时站点)。显然,这还有很多不足之处,并且会发生错误。
我已经阅读了很多关于 CI 和自动构建和部署工具的内容,但我不能完全理解它,因为它们看起来都相当令人生畏。
我正在寻求自动化此部署过程,并且我正在尝试找出最适合学习和使用的工具:
- 开发人员将代码检查到本地机器上的 Mercurial 中,然后与网络连接的构建服务器上的主存储库同步。
- 构建服务器开始构建并检查单元测试是否良好。冲洗并重复。
- 开发人员通过 FTP 手动选择部署到远程 Windows 服务器(还有其他方法吗?)和 zip 文件(理想情况下只包含以前部署版本的更改文件)。
- 远程服务器轮询 FTP 文件最终所在的文件夹,解压缩它们,将它们复制到测试文件夹,备份测试数据库并针对测试数据库运行升级脚本(或使用迁移应用程序,如 migratordotnet 或 rikmigrations)。还需要执行配置转换。
- 客户审查更改并接受它们或提供反馈。
- 如果客户端接受,开发人员在远程服务器的 Web 界面上按下“部署到暂存”按钮,实时数据库被备份,恢复到暂存数据库,实时站点的文件被复制到暂存站点文件夹(有效地创建实时站点的克隆),测试站点的更改文件被复制到暂存站点(不包括某些文件夹,例如测试图像上传等),然后再次运行迁移脚本。
- 开发人员检查更改没有破坏登台站点。
- 开发人员在远程服务器的 Web 界面上按下“部署到现场”按钮,现场站点被复制到备份文件夹中,临时站点的文件被复制到它的位置(不包括用户上传的图像等)。备份实时数据库并运行迁移脚本。
- 如果出现问题,开发人员可以通过将备份文件复制回活动站点的文件夹并恢复以前的数据库来将活动站点恢复到以前的版本。
我真的不想为 100 个可配置的选项而苦苦挣扎。必须快速设置新项目(不超过 5 分钟)且可重复。
我们不是企业,但如果我必须花一些钱来实现这一点,我已经准备好支付许可证费用。
msbuild - TeamCity:管理验收测试的部署依赖项?
我正在尝试在 TeamCity 6 中配置一组构建配置,并尝试以 TeamCity 启用的最简洁的方式对特定需求进行建模。
我有一组验收测试(大约 4-8 套测试,按它们所属的系统功能区域分组)我希望并行运行(我将它们建模为构建配置,以便它们可以分布在一个一组代理)。
从我最初的研究来看,似乎拥有一个通过快照依赖AcceptanceTests
项引入一组单独的验收测试配置的元构建配置应该可以解决问题。然后我所要做的就是说我的构建配置应该触发并且它们都会被拉入。所以,假设我也有,并且Commit
AcceptanceTests
AcceptanceSuiteA
AcceptanceSuiteB
AcceptanceSuiteC
到目前为止,一切都很好(我知道我也可以反过来让Commit
配置触发AcceptanceSuiteA
,AcceptanceSuiteB
并且AcceptanceSuiteC
- 问题是我需要手动汇总结果以确定整个验收测试的整体成功)。
复杂的一点是,虽然AcceptanceSuiteC
只需要一些Commit
工件,然后就可以自己生活,AcceptanceSuiteA
并且AcceptanceSuiteB
需要:
DeploySite
(假设这需要 2 分钟,而我不能为此运行一个完全隔离的设备)- 针对已部署的站点运行测试
问题是我需要能够确保:
- 该网站只配置一次
- 两个套件运行时网站不会被破坏
如果我设置DeploySite
为构建配置并将AcceptanceSuiteA
其AcceptanceSuiteB
作为快照依赖项拉入,AFAICT:
- 随后或并行运行
AcceptanceSuiteB
可能会触发另一个DeploySite
,这将破坏AcceptanceSuiteA
和/或AcceptanceSuiteB
正在使用的部署。
虽然我可以说限制同时运行的构建的数量以强制一次只发生一个,但我需要一次有一个,而不是在依赖的部分仍在运行时。
TeamCity 中有没有办法对这种层次结构进行建模?
编辑:想法:-
一个废话解决方案是DeploySite
可以设置一个“使用中标志”标记,然后让AcceptanceTests
配置清除该标志[在完成之后] AcceptanceSuiteA
。AcceptanceSuiteB
然后问题就变成了让下一个DeploySite
管道等待直到再次打开所述门(在构建中进行阻塞等待,感觉不对 - 我希望它被标记为“尚未开始”而不是看起来像花了很长时间做某事)。然而,这种东西在这里有一个标志,并有这个位检查它是我试图摆脱的那种可变状态/片状气味。
编辑 2:如果我可以以编程方式更改代理配置,我可以将代理要求设置为要求InUse=false,然后在部署开始时设置标志并在测试运行后清除它
delphi - 更改用户变量 - Delphi IDE
我正在使用一个名为Automated Build Studio的自动化构建工具。
我已经在 Delphi IDE 中定义了,正如您在屏幕截图中看到的那样,一个$(PLKFW)
指向我计算机中特定文件夹的用户变量。
问题是:
如何在不使用 delphi IDE 的情况下更改此$(PLKFW)
变量?