How to create and use resources
Resources are the payload that a project deploys. Typically the payload might be scripts, binary files for software installations, server configuration files or built applications such as Jar, War or Ear files in the Java world.
A Project can source both internal and external resources.
An ‘Internal Resource‘ is stored somewhere under the Project Root Directory.
An ‘External Resource‘ is stored outside the project, possibly on a local or remote filesystem, or in an SCM or Artifact Repository such as Maven, Git, Subversion etc.
At package (version) creation time, the internal resource will always be included in the package. The external resource may either be included in the package directly, or a reference to the resource included, and the resource downloaded onto the target server.
You can manually upload internal resources into the project folder on the RapidDeploy Server, or have another RapidDeploy or external process copy resources into the Project Folder.
External Resources are defined in ‘Resources’ -> ‘Libraries’
Project General Tab with External Resources Highlighted
The Project General Tab is shown, with the selected examplesWebApp resource shown.
1. Internal Resources
Internal resources can be seen, along with other Project files, on the ‘[Project]’ -> ‘Files’ tab
From this tab, you can manually upload internal resources into the project folder on the RapidDeploy Server, or have another RapidDeploy or external process copy resources into the Project Folder.
You can also create/edit and delete files here.
The example to the right is showing a payload of some scripts that will be deployed and run on the target servers.
The Project Orchestration (Model) will have some tasks that copy and run these scripts, using Data Dictionary values to pass different command line arguments and variables to the scripts at runtime.
2. External Resources
External resources define the location and method of retrieving a file or set of files or a set of configurations. Plugins define the retrieval mechanisms, such as Http, Maven, Nexus, Git, Subversion, Remote SCP etc.
External Resources are defined in ‘Resources’ -> ‘Libraries’. They are defined globally and may be consumed by any project.
Typically, these will be resources that multiple projects may wish to use, such as binary installations of common software or versions of a built Jar, War or Ear file that can be deployed.
In the image to the right, we see the Library entry for the examplesWebApp being consumed in the main image at the top of the page. It is retrieved using the ‘HTTP File Library‘ plugin from the specified URL. ‘Download On Target‘ is false, so this war file will be added to the deployment package at package creation time, and not downloaded to the target at runtime.