2

基于某种类型的属性/参数,可以使用Nant将应用程序部署到不同的服务器集合吗?可以用Nant来部署到不同的服务器吗?

我需要NANT做: 的环境是由1台或多个服务器。 我们有多个环境(dev,qa,prod)。 该软件包包含多个网站项目。

当NANT被要求建立DEV,它需要建立正确的项目和设置的web.config了在DEV环境中工作(连接字符串,等等)。此外,每个网站项目都需要部署到该环境的正确服务器。另外,NANT可以用来构建我的所有项目,然后多次部署它(部署到Dev,QA,Prod环境?)(即构建和部署在不同的时间完成,一旦构建完成已创建,部署可以对构建软件包多次运行)

+0

发现这个非常有用的教程,使用南特部署到多个环境:http://hallertech.com/nant/index.html –

回答

1

请看这里配置管理我的回答:Should I have multiple build.xml files for one project (dev,staging,production)

基本上你需要environment configs为DEV,QA,PREPROD,PROD等,指定要部署在部署环境(比如从通过-D:environment=DEV命令行),其将使用适当的配置和部署。

Build once, deploy everywhere是你应该遵循的一般方法。构建和部署应该是单独的目标。如果需要,使用CI工具(如Jenkins,TeamCity)构建应用程序。将构建应用程序(zip,tar,war等)作为工件公开。在部署目标中,下载必要的工件并进行部署。

+0

我得到了“构建一次,部署无处不在”,我也了解如何可以单独使用环境配置从命令行提供环境的位置。我不明白的是,如何将构建文件设置为“构建一次”?我应该有2个独立的Nant项目:1.对于构建,2:对于部署? –

1

我已经制定了类似的恶性解决方案,这是行之有效形成了我。在同一个构建文件中,我定义了用于编译和设置每个环境的不同配置文件的不同目标。我的部署目标需要使用3个参数:复制源,复制目标,配置文件。

将文件从源复制到目标。然后将指定的配置文件(Web.config.dev,Web.config.qa,Web.config.production)复制到目标并重命名为Web.config。

相关问题