问题标签 [deployment]

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.

0 投票
19 回答
113714 浏览

.net - 判断生产 Windows Server 上安装了哪些版本的 .NET 的万无一失的方法是什么?

这个问题与其说是编程相关,不如说是与部署相关。

我发现自己与我公司的团队进行了很多交谈,他们的工作是维护我们的生产 Windows 服务器并在它们上部署我们的代码。出于法律和合规性原因,我对服务器没有直接的可见性或任何控制权,因此我可以判断其中安装了哪些 .NET 版本的唯一方法是通过我给该组的指示。

到目前为止,我能想到的所有方法来判断安装了哪些版本(检查与 1.1 或 2.0 匹配的管理工具,检查“添加/删除程序”列表中的条目,检查是否存在c:\Windows\Microsoft.NET 下的目录)有缺陷(我在管理工具下看到至少一台机器有 2.0 但没有 2.0 条目 - 而且该方法没有告诉您任何关于 3.0+ 的信息,即“添加/删除程序”列表可能与现实不同步,目录的存在并不一定意味着什么)。

鉴于我通常需要提前知道这些东西已经到位(发现“哎呀,这个没有你需要的所有版本和服务包”在维护窗口短的情况下并不能很好地工作),我必须由于我无法直接访问服务器,因此“通过代理”进行检查,判断生产 Windows Server 上安装了哪些版本的 .NET 的万无一失的方法是什么?最好是使用框架安装的一些内在方法来这样做,因为它会更快并且不需要加载某种实用程序,而且如果框架没有正确安装但仍然有文件(即,有一个目录和 gacutil.exe 是 inded 那里,但该版本的框架并没有真正“安装”)

编辑:在没有一个好的万无一失的内在方法来做到这一点内置到框架中的情况下,有没有人知道一个好的、轻量级的、不需要安装的程序可以找到这个?我可以想象有人可以很容易地写一个,但如果已经存在一个,那就更好了。

0 投票
7 回答
5930 浏览

java - Java Web 部署:构建代码,还是部署 .war?

部署 J2EE/Java Web 应用程序的两种主要方法(在​​非常简单的意义上):

将组装的工件部署到生产盒

在这里,我们在.war别处创建(或其他),将其配置用于生产(可能为许多盒子创建大量工件)并将生成的工件放在生产服务器上。

  • 优点:生产盒上没有开发工具,可以直接重用测试中的工件,进行部署的人员不需要了解构建过程
  • 缺点:创建和部署工件的两个过程;预建工件的潜在复杂配置可能会使流程难以编写脚本/自动化;必须版本二进制工件

生产箱上构建工件

在这里,日常用于在开发人员机器上本地构建和部署的相同过程用于部署到生产。

  • 优点:需要维护一个流程;并通过频繁使用进行了大量测试/验证。在创建工件时自定义配置可能比自定义预构建工件后记更容易;不需要对二进制工件进行版本控制。
  • 缺点:所有生产盒都需要潜在的复杂开发工具;部署人员需要了解构建过程;你没有部署你测试的东西

我主要使用第二个过程,诚然是出于必要(另一个部署过程没有时间/优先级)。就我个人而言,我不赞成“生产箱必须清除所有编译器等”之类的论点,但我可以看到部署您测试过的东西的逻辑(而不是构建另一个工件)。

然而,Java Enterprise 应用程序对配置非常敏感,感觉就像是在为配置工件的两个进程自找麻烦。

想法?

更新

这是一个具体的例子:

我们使用 OSCache,并启用磁盘缓存。配置文件必须在 .war 文件中,并且它引用文件路径。这条路径在每个环境中都不同。构建过程检测用户的配置位置,并确保放置在战争中的属性文件对于他的环境是正确的。

如果我们要使用构建过程进行部署,则需要为生产环境(例如production.build.properties)创建正确的配置。

如果我们要遵循“将组装的工件部署到生产环境”,我们将需要一个额外的过程来提取(不正确的)OSCache 属性并将其替换为适合生产环境的属性。

这会创建两个进程来完成同一件事。

所以,问题是:

  • 如果没有“在生产中编译”,这是否可以避免?
  • 如果没有,这值得吗?“不编译生产”的价值是否大于“不要重复自己”?
0 投票
6 回答
27549 浏览

java - 在Tomcat上部署war文件

有没有办法在 Tomcat 服务器上部署给定的战争文件?我想在不使用 Web 界面的情况下执行此操作。

0 投票
3 回答
1928 浏览

language-agnostic - What are some good strategies to allow deployed applications to be hotfixable?

In an ideal world, our development processes would be perfect, resulting in regular releases that were so thoroughly tested that it would never be necessary to "hotfix" a running application.

But, unfortunately, we live in the real world, and sometimes bugs slip past us and don't rear their ugly heads until we're already busy coding away at the next release. And the bug needs to be fixed Now. Not as a part of the next scheduled release. Not tonight when the traffic dies down. Now.

How do you deal with this need? It really can run counter to good design practices, like refactoring your code into nice, discrete class libraries.

Hand-editing markup and stored procedures on a production server can be a recipe for disaster, but it can also avert disaster.

What are some good strategies for application design and deployment techniques to find a balance between maintenance needs and good coding practices?

0 投票
3 回答
6965 浏览

c# - 如何指定 clickOnce 应用程序的目标文件夹?

如何指定 clickOnce 应用程序的目标文件夹?

0 投票
9 回答
31566 浏览

deployment - 将桌面快捷方式部署到运行 Windows CE 4.2 (VS2005) 的设备

我有一个使用 VS2005 在 C# 中针对 Compact Framework 2.0 SP2 编写的应用程序。作为解决方案的一部分,我有 CAB 部署项目,它可以毫无问题地部署到设备上。我不能做的是在设备桌面上创建我的应用程序的快捷方式。

我花了几个小时阅读各种文档(为什么在 MSDN 网站上的搜索如此糟糕?),按照说明进行操作,但没有任何乐趣。

我所做的是:

  • 将“Windows 文件夹”节点添加到文件系统
  • 在名为“桌面”的文件夹下创建了一个文件夹
  • 创建应用程序主输出的快捷方式并将其放在“桌面”文件夹中

我错过了什么?

0 投票
1 回答
3045 浏览

deployment - Glassfish:在域中部署应用程序失败;加载部署描述符时出错 - 无效位长度重复

我正在尝试通过服务器的 Web 界面部署 .war。使用 IDEA 将其部署为展开目录时出现相同的错误。这个问题的解决方案是什么?

0 投票
12 回答
34707 浏览

asp.net - 如何以零停机时间部署 ASP.NET 应用程序

要部署我们网站的新版本,我们执行以下操作:

  1. 压缩新代码,并将其上传到服务器。
  2. 在实时服务器上,从 IIS 网站目录中删除所有实时代码。
  3. 将新的代码压缩文件解压到现在为空的 IIS 目录中

这个过程都是脚本化的,并且发生得很快,但是当旧文件被删除并部署新文件时,仍然可能有 10-20 秒的停机时间。

关于 0 秒停机方法的任何建议?

0 投票
8 回答
1491 浏览

.net - .NET Winforms 部署

无论如何将所有资源组合成一个 exe 文件,例如 app.config 和相关的 DLL 文件?

一些应用程序似乎可以做到这一点,例如 eMule。

我不希望我的 app.config 坐在那里等待编辑。

谢谢

0 投票
5 回答
248 浏览

.net - .NET 框架更新是否推送给了 windows-updates 的每个用户?

Microsoft 是否强制对其所有 windows-update 用户进行更新?是出于法律原因吗?

编辑(阿库):

问题被重新制定。如果您想知道 .NET 附带的 Windows 版本,请参阅此主题:

https://stackoverflow.com/questions/71390/which-operating-systems-come-with-net