Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 我应该为一个项目(开发、暂存、生产)提供多个build.xml文件吗_Svn_Ant_Build_Continuous Integration_Bamboo - Fatal编程技术网

Svn 我应该为一个项目(开发、暂存、生产)提供多个build.xml文件吗

Svn 我应该为一个项目(开发、暂存、生产)提供多个build.xml文件吗,svn,ant,build,continuous-integration,bamboo,Svn,Ant,Build,Continuous Integration,Bamboo,我正在努力让我的头脑集中在ANT、CI、SVN和部署上。我有一个dev服务器、一个staging/qa服务器、一个生产服务器和构建服务器 理论上,CI构建服务器(Bambol)将运行构建(FTP??),然后将其发送到开发服务器。在某个时候,我们将决定将构建部署到临时服务器。如何更新作为ANT任务一部分的FTP信息?当我们部署到生产服务器时,同样的问题也会出现。您可以执行两个任务,例如“ftp_to_dev”和“ftp_to_staging”,然后只调用您想要的任务。我想您正在寻找配置管理?您的脚

我正在努力让我的头脑集中在ANT、CI、SVN和部署上。我有一个dev服务器、一个staging/qa服务器、一个生产服务器和构建服务器


理论上,CI构建服务器(Bambol)将运行构建(FTP??),然后将其发送到开发服务器。在某个时候,我们将决定将构建部署到临时服务器。如何更新作为ANT任务一部分的FTP信息?当我们部署到生产服务器时,同样的问题也会出现。

您可以执行两个任务,例如“ftp_to_dev”和“ftp_to_staging”,然后只调用您想要的任务。

我想您正在寻找
配置管理
?您的脚本本身应该做同样的事情,无论它们在哪里运行-开发、登台或生产。但是,您可以为每个环境提供配置文件,这些文件将具有特定于各个环境的配置值。脚本将从这些配置文件中读取值,并适当配置应用程序

要回答您关于多个生成文件的直接问题,请选择“否”,将单个生成文件与单个目标一起部署(不需要多个目标,但可以根据情况使用),详细信息如下:

因此,请给出一些细节:

具有诸如dev.config、stage.config、prod.config(或
.properties
文件)等配置文件。该配置将具有机器IP、环境其他部分的值等。在该环境中配置和运行应用程序所需的任何内容

假设您在ant中有一个“部署”目标。让它从命令行(-Denvironment=stage)读取一些属性“environment”

使用此属性读取配置文件和值,并使用这些值进行部署。使用基于
约定优于配置的方法,即只有当值与特定环境的默认值不同时,配置文件才可以覆盖一些正常的默认值


将有一个目标,其中“environment”属性值指定要使用的环境配置。

My可能会提供一些细节。您可以使用相同的文件,但为给定环境向生成传递不同的属性。当您说“任务”时,是指ANT文件中的目标还是生成服务器上的任务?