Overview
Required resources are used to specify what external dependencies build specifications and build stages rely upon. Resources themselves are configured for each agent attached to your pulse™ server. Then, when configuring build specifications, you can specify the resources they require.
Purpose
Required resources are used for two main purposes:
- To import the resource properties, environment variables and PATH directories for use during recipe execution
- For requirements-based matching of build stages to agents, when the build stage is configured to use "[any]" agent
In the first case, consider a build that requires a C compiler. Different compilers may be configured as resources, and each of these resources can define a property "CC" that can be introduced as an environment variable. By making these resources required for a build stage, the CC property will be imported and made available to the build. Similarly, consider a build that requires a Java runtime. By requiring a Java resource configured with JAVA_HOME and java.bin.dir properties, your build can remain independent of the install location of Java on different agents.
The second case is most useful when you have a pool of agents that expose various resources. These agents can be shared amongst multiple projects which have different but overlapping requirements. Using required resources allows you to specify which agents are capable of executing which build stages. This allows efficient sharing of available agents amongst the projects.
Managing Required Resources
Required resources can be specified at two levels: on the build specification itself, or on a specific build stage. Adding a required resource to the build specification indicates that the resource is required by all stages (i.e. it is the same as adding the resource to all of the stages in the specification).
Adding Required Resources
To add a required resource, click the "add required resource" link in the "required resources" table for the specification or build stage.
resource
The name of the required resource.
version
If specified, the version of the required resource. When not specified, no specific version is required, and only the default properties will be imported.
Editing Required Resources
To edit a required resource, click the "edit" link in the corresponding row of the "required resources" table.
Deleting Required Resources
To delete a required resource, click the "delete" link in the corresponding row of the "required resources" table.