Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Options

 The options tab allows you to rename a stage and select the option to automatically promote the stage. The default behavior is to automatically promote a stage, this means when the stage completes the build will continue and execute the next stage. If you choose to not automatically promote a stage, the build will be put into a Stage Pending Promotion state. The build will be marked as completed but you will still be able to progress the build by going to the stopped stage and promoting it. This is done by navigating to the page for the build and clicking the Promote button listed underneath the stage on the left hand side of the page.

 

Rules

There are three types of rules in Continua:

...

Scenarios and examples of registering can be found on the Artifact Rules page.

Agent Requirements

Agent requirements are a set of conditions that must be met before the stage will execute. In addition to using variables as condition values, you can also use the Agent descriptor which gives you access to agent details like hostname, port and all property collector values. Note that these conditions give you fine grain control over the configuration and stages. It's possible to make the entire Configuration execute on a single agent, but agent having conditions allow you to force a stage to run on a specific agent and let Continua decide which is the best agent to run the other stages on.

Here are some scenarios where you could make use of agent requirements.

  • You have a trigger setup to execute every day at 3 in the morning. It executes a Configuration which is setup to take a copy of your main repository, archive it and send it to your backup server. The backup server also happens to act as a Continua agent and you want to take advantage of that, By using the backup server agent, the backup archive file will be created in the build's workspace on the backup server agent, then it's just a matter of copying that file from the build's workspace, into a directory on the backup server that handles backing files up. If you were to use an agent that wasn't the backup server then the copying of the archive file to the backup server would happen over the network. This situation is ideal for an agent condition that forces a stage to run on a specific agent. To do this, you would reference the agent's hostname by using the descriptor $Agent.Hostname$ then select Equals from the drop down list and put the name of the agent in the right hand side input field.

  • You've created a program or script that automates a whole lot of functionality like creating installers for your application, uploading them to a FTP server and sending out emails to your users. When you integrate it into Continua, you simply create a stage which has an Execute Program Action which executes your script. Because your script is creating installers, uploading files using FTP and sending out emails, your script needs to be executed on an agent that has your installer creator application installed, the ftp client you use installed and whatever email application you use to send emails installed. To ensure the build runs on an agent with all three of those applications installed you would setup agent conditions for the stage that runs your script. First you would setup Property Collectors for each of the applications, all they would do is check if an executable exists (eg. MyFtpClient.exe) in the given path. Once they're setup, you can create an agent condition that checks for the existence of that application. You would first choose the Exist option from the drop down menu then use a descriptor like $Agent.MyFTPClient.Path$. This would force the build to only execute on an agent which has that path on it.

  • You can select the agent you want a build or stage executed on when you start the build. Create a Configuration Variable called AgentToRunOn for example and make it a prompt type of Text. By doing this, every time you manually start a build, it will ask you what Text value you would like to provide to the AgentToRunOn variable. When setting up your agent conditions on a stage, you would use the $Agent.Hostname$ descriptor for the left value, select Equals from the drop down list and type %AgentToRunOn% for the right value. By doing this, you allow the user to type in which agent they want a stage run on every time a build is manually started. You could make it more secure by changing the variable to be a Selection prompt type and supply a list of agents that can be used. You would of course need to create specific permissions for editing variables and allow only admins to edit variables.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Todo