多应用系统的发布/部署/打包工具
在我们公司,我们有以下情况:我们有多个(硬件)系统,每个系统都有多个软件应用程序。然而,由于硬件不同,在某些情况下软件也不同。此外,在现场,该软件有许多不同版本的组合。
例如,考虑以下(简化的)情况:
系统: Sys1、Sys2、Sys3
应用程序: App1、App2、App3、App4
,每个都有不同版本
Sys1
使用 App1 v1
,无 App2
、App3 v3
和 App4 v2
,同时Sys2
使用 App1 v1
、App2 v2
、App3 v2
,并且没有 App4
,和Sys3
不使用 App1
、App2 v3
、不使用 App3
和 App4 v3
。
也就是说,每个系统都使用一组不同的应用程序,并且每个应用程序的版本也不同。有时甚至不同的版本组合,例如App1 v1
与App3 v2
和App3 v3
一起使用。
目前,我们通过手动将各个版本复制到现场服务和生产部门可以访问的“内部公共”文件夹来管理有效的软件集。然而,大多数时候我们只有最新版本可用,他们很难获得系统的任何旧版本集。
我们希望将此流程更改为某种自动化系统。是否有软件工具可以帮助完成此过程?我正在考虑一种软件,您可以在其中设置不同的系统和不同的软件组件,创建每个组件的不同版本,然后将特定的软件版本分配给特定的系统版本。
有谁知道有一个软件可以做到这一点?或者我们应该考虑彻底改变我们的打包/部署管理?顺便说一句:这个过程如何称为“正式”?
澄清一下:我们已经使用了源代码控制、构建服务器等。所以这不是重点,但缺少的步骤是将多个软件组件组合成一个可供服务和生产使用的完整包。由于我们尚未对所有软件组件使用构建服务器,因此我认为让构建服务器承担这项工作可能很困难,但我愿意接受建议。
编辑:
操作系统始终为 Windows(2000、XP、Vista、7 和 7 Embedded)。
应用程序是用不同的语言编写的,主要是 C++ 和 C#,但如果可能的话,我们的解决方案应该独立于语言。
In our company we have the following situation: We have several (hardware) systems, each with several software applications. However, since the hardware is different, the software is also different in some cases. Furthermore, out in the field there are lots of different version combinations of the software.
For example, consider the following (simplified) situation:
Systems: Sys1, Sys2, Sys3
Applications: App1, App2, App3, App4
, each with different versions
Sys1
uses App1 v1
, no App2
, App3 v3
, and App4 v2
, whileSys2
uses App1 v1
, App2 v2
, App3 v2
, and no App4
, andSys3
uses no App1
, App2 v3
, no App3
, and App4 v3
.
That is, every system uses a different set of applications, and also different versions of each application. Sometimes even different combination of versions, e.g. App1 v1
is used with App3 v2
and App3 v3
.
Currently, we manage the set of valid software sets by manually copying the respective releases to the "internally public" folder which is accessed by the field service and production department. However, most of the time we only have the latest versions available, and it is hard for them to get any of the older version sets for a system.
We would like to change this process to some sort of automated system. Are there software tools out there which can help with this process? I was thinking of a software where you can set up different systems and different software components, create different versions of each, and then assign specific software versions to specific system versions.
Does anyone know a software which does just that? Or should we consider to completely change our packaging/deployment management? BTW: How is this process called "officially"?
To clarify things: We already use source control, build server, and the like. So this is not the point, but the missing step is the combination of several software components to a complete package which can be used by service and production. Since we do not use the build server for all software components (yet), I think it might be hard to let the build server take on this job, but I am open for suggestions.
EDIT:
Operating system is always Windows (2000, XP, Vista, 7, and 7 Embedded).
The applications are written in different languages, mainly C++ and C#, but our solution should be independent of the language, if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在一家非常大的公司(数千名员工)工作,我们为每个人提供相同的版本,并有很多应用程序。我们有预生产环境、开发环境和最终版本。当然,我们使用java,所有的应用程序都是webapps,所以我们的硬件没有问题。
我认为这是最好的环境。每个人都发布相同的版本。
I work in a very large company (thousands employees) and we have the same version for everybody, with a lot of applications. We have a pre-production environment, a developement environment, and the final releases. Of course, we work with java and all of our applications are webapps, so we don't have problems with our hardware.
I think this is the best environment. Everybody the same release.
我们制作了一个免费的(真正的)工具,它非常擅长做到这一点。目前它支持 Solaris (Intel & Sparc)、Linux、Mac OS 和 Windows 目标服务器。通过视频教程,您可以很好地了解它的用途。
We make a free (really) tool that's pretty good at doing exactly this. It currently supports Solaris (Intel & Sparc), Linux, Mac OS and Windows target servers. You can get a pretty good idea at what it does with the video tutorials.