External resources
Project General Tab with External Resources Highlighted
The Project General Tab is shown, with the selected examplesWebApp resource shown.
1. Resource Overview
Resources are configured on the ‘Manage Resource Libraries’ panel. You can access the resources pages by accessing the ‘Libraries’ icon from any page (see image).
To configure a resource, you will need to define how to access it and, if a configuration resource format resource, the configuration of the resource.
1.1 Accessing external resources
A resource is accessed by use of one of the resource plugins. The fields required to configure access to the resource will depend on the resource plugin selected. You can access remote resources from a variety of external sources, such as:
- Via scp from a remote file system folder or set of files
- Via a path to a local folder or file
- From an artifact or SCM repository such as Maven, Git, SVN, Nexus etc.
- Via an http request
1.2 Binary resource libraries
1.3 Configuration resource libraries (Data Dictionary)
It is also possible to configure resources that are used by RapidDeploy itself to enable easier configuration of the tool.
You can configure sets of Data Dictionary key/value pairs which projects can select to set default configuration values, that can be overridden by the project or targets, as shown in Fig. 3 & 4.
1.4 Configuration resource libraries (Cloud & Transport)
You can also configure server connection definitions (Transport Plugin Data) or cloud provider connection information (Cloud Provider Plugin Data) which can be selected on the server definitions panels. This allows sets of servers to share configuration, which can be managed centrally on the resources panels instead of configuring each server separately as shown in Fig. 5.
You can still configure server and cloud connection information on the server panels directly, but if required you can promote this configuration to become a resource usable by other servers as shown in Fig. 6.
2. Add a Resource
To add a resource, click the ‘Add Resource’ button on the main ‘Manage Resource Libraries’ panel.
You will see the ‘Create Resource’ panel (see Fig. 7).
You need to give the resource a Name, which is used to uniquely identify this resource in the list of resources available on the projects or servers panels. Therefore make sure the name is sufficiently descriptive.
The ‘Resource Type’ drop down list lets you select the plugin to use to source this resource, for example “Git Repository, “HTTP file Library” or “Remote Directory Library”. Choose the type of plugin you want to use depending on where your resource is located.
You can add any additional details in the Description panel.
The ‘Path’ tells RapidDeploy where to store these resources on the filesystem and ‘Package relative Path’ the relative path under the root directory of any project that consumes this resource, where the resource will be stored. These can normally be left as the defaults.
The ‘Format’ drop down list lets you choose the type of library this will be, as follows:
- Binary – For deployable artefacts to be deployed by a deployment model (project) such as binary files, zip, jar, ear files, scripts, database updates, sets of deployable files.
- Data Dictionary – For sets of Data Dictionary name/value pairs that can be shared between projects.
- Transport Plugin Data – a connection definition (server port, credentials such as ssh key, passphrase etc) that can be shared by multiple servers.
- Cloud Provider Plugin Data – cloud configuration that can be shared between and used by multiple servers.
3. Configure a Resource
To configure a resource, click the ‘Edit Resource’ button in the ‘Actions’ column on the main ‘Manage Resource Libraries’ panel opposite the resource you want to edit (see Fig. 8).
You will be taken to the ‘Create Resource’ panel (see Fig 9).
Depending on the type of resource, you will see either two or three tabs.
The ‘General’ tab is the one you configured to create the image.
The ‘Settings’ tab has the configuration settings of the ‘Resource Type’ plugin you used (see Fig. 10). This will be the configuration of how we access the local or remote resource, and the fields are plugin dependent. In this example we are using the local file library plugin, so it is the local file library path (the path to the file containing the ssh transport configuration) that is shown.
The optional ‘Resource’ tab has the configuration settings of the resource where the resource is one of the special resources:
- Data Dictionary – Data Dictionary name/value pairs.
- Transport Plugin Data – a connection definition (server port, credentials such as ssh key, passphrase etc). The fields will depend on the transport plugin selected.
- Cloud Provider Plugin Data – cloud configuration. The fields will depend on the cloud plugin selected.
In the example in FIg. 11 the resource is an ssh transport connection.
4. Associating resources with your project
4.1 Binary resource libraries
You can select external resources to associate with the project (and therefore include in the deployment packages) on the ‘[Project]’ -> ‘General’ tab from the ‘Library Resources’ panel (shown opposite in Fig. 12). Once the selection has been made, any subsequent packages will include the resource, or a reference the the resource if ‘Download on target’ is true.
4.2 Data Dictionary resource libraries
You can select any Data Dictionary resources from the ‘[Project]’ -> ‘Orchestration’ tab on the ‘Data Dictionary’ sub tab from the ‘Dictionary Resources‘ list panel as shown Fig. 13.
If you select data dictionary resource(s) from the resource library, these will become the default values at the project, target and job scopes, but may be overridden at the project, target or job scopes.