Summary
The Nexus Repository Manager V3 plug-in provides steps to integration Deploy with Nexus Repository Manager V3.
This plug-in includes the following step:
Compatibility
The Nexus Repository Manager V3 plug-in is compatible with Nexus Repository manager versions 3.0 and up. This plug-in was written against the Nexus Repository Manager V3 REST API, and will not work with V2. For Nexus Repository Manager V2 support, please see the Nexus Source Config Plugin.
This plug-in runs on all operating systems that Deploy supports.
Installation
See Installing plug-ins in HCL Deploy for installing and removing plug-ins.
Note for version 5
For Raw Repos this version of plug-in will create different version for different kind of applications.
For Example, if we have 2 applications, a java one and a python one in in a “Raw” format repo in Nexus, as shown below: com └─── example ├─── my-java-app1.0 │ └─── my-java-app-1.0.jar └─── my-python-app1.0 └─── sample1.py
This version of Plug-in will create 2 different versions named as “my-java-app1.0” and “my-python-app1.0” with their respective artefacts.
The previous version of the plug-in doesn’t support this feature and creates version with name of the 1st level folder(here “com”) which is fixed in this.
Version history details:
Plug-in history details
| Version |
Description |
| 6 |
RFE-URBANCODE-I-735: Importing versions from raw nexus repository . |
| 5 |
- RFE-URBANCODE-I-598: Updated plug-in to support multiple application files import from a Raw repository in Nexus.
- Updated deprecated library HttpClientBuilder to HttpClientBuilder2.
- Updating Jettison library to 1.5.4 for CVE-2023-1436.
|
| 4 |
Updated dependencies for log4j and jettison. |
| 3 |
A version’s importing field will be correctly set and marked as finished importing when creating versions that aren’t copied to codestation. |
| 2 |
Fixed CVE:CVE-2019-4233. |
| 1 |
Initial release of this plug-in. |
Usage
NRM V3 Rest API Versions
The Nexus Repository Manager (NRM) V3 plug-in utilizes the Search API of NRM V3.
The plug-in supports any NRM server of version 3 or greater. However, depending on your server version you may either be accessing the Siesta REST API, the BETA REST API, or the fully supported V1 REST API.
There are a couple of things to note about the various REST APIs of NRM V3:
- Siesta REST API
- This API was deprecated with NRM v3.8.x.
- BETA REST API
- This replaced the Siesta API with NRM v3.8.x.
- This API was also deprecated with the release of NRM v3.13.x.
- V1 REST API
- This is the current, fully supported REST API beginning with NRM v3.13.x. The plug-in will first try to connect to the V1 REST API. If the connection fails, it will then try the BETA REST API and lastly try the Siesta REST API. If the connection cannot be made to the V1 API, a warning will be displayed stating that the server is outdated and it's recommended to upgrade to version 3.13 or greater. If none of the REST API connections succeed, the plug-in will fail, and you should ensure that your Nexus server is at least version 3.
Nexus Repository Manager V3 - Process Steps
Import Version
Creates a new component version and imports artifacts from Nexus.
This step has no input properties.
Roles in the Nexus Repository Manager V3 plug-in
The plug-in adds these roles automatically to resources. You cannot add these roles manually.
Component properties
This step runs a groovy script.
| Name |
Type |
Description |
| Component Group |
String |
The group ID of the component to which the assets belong. In maven repositories this will follow Java’s package name rules (i.e., org.apache.maven). |
| Extensions of files to Convert |
String |
If text-type files must be converted into another character set, type the list of file extensions to be converted. Matching file types are converted into the default or system character set of the system where the agent is located. Separate list items with commas. |
| File Excludes |
String |
A list of file patterns to exclude from the component. Separate each pattern with a new line or comma. |
| File Includes |
String |
A list of file patterns to include in the component. Separate each pattern with a new line or comma. To include all files, leave blank or type **/*. |
| Latest Version |
String |
Import only the latest version. This will import the latest version based on Maven 3.0 version name conventions. |
| Log4j Logging Level |
Enumeration |
Configure the level of Log4j messages to output to the console. |
| Nexus Component |
String |
The component name in Nexus. Specifying this value will import only versions of the given Nexus component name. This field should be used when you have multiple components in the same repository, as is the case for NPM repositories. |
| Password |
Password |
The password for the Nexus user. |
| Repository |
String |
The name of the repository in Nexus from which to import versions. |
| Server URL |
String |
Base URL and port for the Nexus server (i.e., http://localhost:8081). |
| User |
String |
The user name for the Nexus user. |
Import Properties
| Name |
Type |
Description |
| Specific version to import. |
String |
|