Import strategy type configuration
All of the import strategies follow a standard process for populating the artifact repository after collecting the artifacts to import. The artifacts are copied to the Root Directory, then DROPS scans the content and creates an identical directory structure inside the Artifact Repository. When the duplicate directory structure is finished, DROPS copies the artifacts into the correct locations in the repository. Because the directory structure is redefined in the repository, when the artifacts are deployed, they will be deployed following the same structure.
Configuring an import strategy is mandatory in order to collect the artifacts to import. To quickly communicate with the most commonly used artifact providers and eventually incorporate their specific delivery types, select the corresponding type of strategy from the drop-down list in the Import Strategy editor.
Configure an import strategy to retrieve artifacts based on a SCM's "available" versions by choosing the strategy type for that SCM.
If a template was used to create a new import strategy, the strategy type configuration described below cannot be modified and the entire section is grayed out. To modify this content, either change the template (which will carry over to all of the strategies using it) or create a new strategy that is not linked to the template.
The following properties/substitution variables can be called into the extended configuration of an import strategy or a import strategy template:
- any user-defined property in an application
- the
${activity.[activityID].component.code}
substitution variable - any user-defined property in an import strategy
Using the ${importStrategy.props.env}
variable in a template enables you to create an "env" property in the import strategy that uses the template which will be called when the extended configuration is taken into account.
For more information about using properties, refer to Properties and Substitution variables.
The different types of import strategies require different configuration. This section describes each type and how to configure each type.
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from an ARCAD version.
This strategy executes an ARCAD macro-command to prepare a SAVF to import into the artifact repository. This command must be executed on an ARCAD Server that runs on an IBM i platform.
First, the system connects to the ARCAD Server using the connection information defined in the import strategy. Then, the defined macro-command is executed:
- the version number is resolved,
- the variables are substituted,
- the execution of the macro-command is submitted using the defined submission parameters.
The system waits for the end of the submitted job and returns the execution result. If the execution is OK, a stream file is created from the target SAVF file into the temporary IFS directory. This stream file is downloaded into the Root Directory defined by the strategy and the content of the Root Directory is imported as artifacts.
The macro-command must create the related version artifacts in a SAVF that must be named according to the value defined by the user and be created in the library defined by the user.
The content of Save Files imported using the IBM i and Arcad Import Strategies are saved as .txt attachments by default. This makes it easy to refer to the content of the Save File outside of IBM i after it has been imported into the DROPS Studio.
Field | Description |
---|---|
ARCAD Server | Enter the name or IP address of the IBM i partition hosting the server. |
Login/Password | Enter a valid user login and password. This user must be declared on the server and will be the user that will execute any operations on the IBM i. The password should be encoded in Base64. |
Instance Code | Enter the ID of the instance to reach. |
Secure Connection |
Tick this checkbox if the server requires a secured TLS/SSL connection. Reference
For more information about ARCAD secure connections, refer to the ARCAD SSL Configuration Guide. |
Language | Select the language to use on the server (FRA or ENG). |
CCSID | Enter a valid CCSID to connect to the server. |
Application Code | The code of the target ARCAD application. |
Env. Identifier | The ID of the environment containing the versions. |
Target Version Number |
The number of the version from which to get the artifacts. The possible value are:
By default, the value is ${import.version}. Using this substitution variable enables the strategy to use the external version number set using the Import Artifacts wizard. |
Library |
The library where the macro-command is located. By default, the library is set to *LIB. |
Name |
The name of the macro-command to execute. The following macro-command parameters are available:
The following substitution variables are available:
By default, the value is EXPORT APP(${arcad.application}) ENV(${arcad.envid}) VERSION('${arcad.version}' SAVF(${arcad.savfile} TMPLIB(${arcad.savlib})). |
Submission Parameters |
The additional parameters that will be used to submit the macro-command execution. These must be valid SBMJOB command's parameters. By default, the value is JOBQ(DROPS/DROPS) JOB(EXPORT). |
Temporary Library |
The Temporary Library where the SAVF file will be generated. By default, the value is ARCAD_NET. |
Temporary SAVF |
The name of the SAVF file that must be imported into the artifact repository. By default, the value is *GEN. |
Temporary IFS Directory |
The name of the IFS directory where the generated SAVF will be copied before importing it into the repository. By default the value is *AUTO. |
Save the changes (, Ctrl+S
or File > Save).
This strategy includes most of the same properties as the generic ARCAD import strategy, however you do not need to define the ARCAD Application property because this value is now defined at the component level in the extended configuration. This strategy should, therefore, be used in ARCAD-type components.
The Target Version Number can now be defined using a version selector to avoid making mistakes. The retrieved version list is based on:
- The ARCAD development server connection defined in the ARCAD Settings (Connecting to the ARCAD development server)
- The ARCAD Application Code defined in the parent component
Field | Description |
---|---|
Login/Password | Enter a valid user login and password. This user must be declared on the server and will be the user that will execute any operations on the IBM i. The password should be encoded in Base64. |
Instance Code | Enter the ID of the instance to reach. |
Secure Connection |
Tick this checkbox if the server requires a secured TLS/SSL connection. Reference
For more information about ARCAD secure connections, refer to the ARCAD SSL Configuration Guide. |
Language | Select the language to use on the server (FRA or ENG). |
CCSID | Enter a valid CCSID to connect to the server. |
Application Code | The code of the target ARCAD application. |
Env. ID | The ID of the environment containing the versions. |
Target Version Number |
The number of the version from which to get the artifacts. The possible value are:
By default, the value is ${import.version}. Using this substitution variable enables the strategy to use the external version number set using the Import Artifacts wizard. |
Library |
The library where the macro-command is located. By default, the library is set to *LIB. |
Name |
The name of the macro-command to execute. The following macro-command parameters are available:
The following substitution variables are available:
By default, the value is EXPORT APP(${arcad.application}) ENV(${arcad.envid}) VERSION('${arcad.version}' SAVF(${arcad.savfile} TMPLIB(${arcad.savlib})). |
Submission Parameters |
The additional parameters that will be used to submit the macro-command execution. These must be valid SBMJOB command's parameters. By default, the value is JOBQ(DROPS/DROPS) JOB(EXPORT). |
Temporary Library |
The Temporary Library where the SAVF file will be generated. By default, the value is ARCAD_NET. |
Temporary SAVF |
The name of the SAVF file that must be imported into the artifact repository. By default, the value is *GEN. |
Temporary IFS Directory |
The name of the IFS directory where the generated SAVF will be copied before importing it into the repository. By default the value is *AUTO. |
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using artifacts collected from an Azure Pipeline Builds.
The Build ID field is a filter that matches build numbers. It is allowed to use * as a prefix search (ex: "#202102*"). The import strategy will import artifacts from all runs that match the build ID filter.
Field | Description |
---|---|
Organization | The Azure Devops Organization where the Azure Devops Project is stored. |
Project | The project which hosts the artifacts to imports. |
Build ID | The a pattern used to select builds ID from pipelines. By default, a build ID name starts with a # and is a run of the pipeline process. |
User & Password | The user and password to connect to the Azure DevOps Services. |
The following properties/substitution variables can be called into the extended configuration of an import strategy or a import strategy template:
- any user-defined property in an application
- the
${activity.[activityID].component.code}
substitution variable - any user-defined property in an import strategy
Using the ${importStrategy.props.env}
variable in a template enables you to create an "env" property in the import strategy that uses the template which will be called when the extended configuration is taken into account.
For more information about using properties, refer to Properties and Substitution variables.
To define a property, click the Create button in the Extended Properties. Define the Key and Value of the property in the dialog. To edit an existing property, double-click it, or select it, then click the Edit button.
To delete a property, select it, then click the Delete button.
Deleted properties are no longer associated with the import strategy and cannot be accessed, recovered or called by a substitution variable.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by executing a user-defined command.
This strategy scans defined directories and retrieves their contents according to the command defined.
To define the command to execute, configure the name and parameters of the executable command and the connection information required to access a 3rd party artifact provider via the command line.
Field | Description |
---|---|
User | The user name that can be referenced as a ${user} variable in the command if a connection is needed. |
Password | The password that can be referenced as a ${password} variable in the command if a connection is needed. |
Executable | The name of the file to execute. |
Options Template |
The blank-separated list of parameters to pass to the executable. The template can include substitution variables. Reference
For more information about variables refer to Substitution variables. |
The following properties/substitution variables can be called into the extended configuration of an import strategy or a import strategy template:
- any user-defined property in an application
- the
${activity.[activityID].component.code}
substitution variable - any user-defined property in an import strategy
Using the ${importStrategy.props.env}
variable in a template enables you to create an "env" property in the import strategy that uses the template which will be called when the extended configuration is taken into account.
For more information about using properties, refer to Properties and Substitution variables.
To define a property, click the Create button in the Extended Properties. Define the Key and Value of the property in the dialog. To edit an existing property, double-click it, or select it, then click the Edit button.
To delete a property, select it, then click the Delete button.
Deleted properties are no longer associated with the import strategy and cannot be accessed, recovered or called by a substitution variable.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from a CVS repository.
To correctly invoke the CVS command line processor, the DROPS Server must know its location. This location is defined by a DROPS administrator in the CVS strategy Settings section of the DROPS - Import Process category of the DROPS Server settings. The path set there will be used for all of the CVS strategies created for the current server, so the URL that points to your artifacts must correspond to it.
For more information about setting the path to the CVS executable, refer to SCMs (CVS, Docker, GIT, SVN) access settings.
Define connection properties specific to this strategy and the external CVS tool in the CVS Repository Connection Properties section. These properties are used to pass connection information to the CVS command line when the import process begins.
Field | Description |
---|---|
Protocol | The protocol used to connect to the CVS server. |
CVS Server | The CVS server. |
Port | The CVS server's port. |
User | The user to connect to the CVS repository. |
Password | The user password used to connect to the CVS repository. |
Repository | The path to the repository to import. |
Tag | The tag number used to filter the export. |
Module | The module to import. |
The parameters can use the properties defined in the parent import strategy by referencing them using substitution variables.
For more information about this process, refer to Substitution variables.
The following properties/substitution variables can be called into the extended configuration of an import strategy or a import strategy template:
- any user-defined property in an application
- the
${activity.[activityID].component.code}
substitution variable - any user-defined property in an import strategy
Using the ${importStrategy.props.env}
variable in a template enables you to create an "env" property in the import strategy that uses the template which will be called when the extended configuration is taken into account.
For more information about using properties, refer to Properties and Substitution variables.
To define a property, click the Create button in the Extended Properties. Define the Key and Value of the property in the dialog. To edit an existing property, double-click it, or select it, then click the Edit button.
To delete a property, select it, then click the Delete button.
Deleted properties are no longer associated with the import strategy and cannot be accessed, recovered or called by a substitution variable.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting a Docker Image from a reference repository in Docker.
The Docker daemon DROPS uses to manage the image(s) to import from Docker must carry out a transfer before DROPS can access the image(s) to import. First, the daemon duplicates the “source” image in the development repository then transfers the copy to the reference repository. DROPS can then import the transferred “target” image from the reference repository.
Field | Description |
---|---|
Docker Daemon Host | The connection path required to connect to the Docker development repository (the daemon). |
Use TLS | Tick this checkbox if the connection is secure. |
Certificates Path | If the connection is secure, define the path to the certificates required to access the secure Docker daemon. |
Reference Repository Host | The path to reference repository where the target image to import is stored. |
User/Password | The login and password required to access the reference repository. |
Registry | Define the sub-folder in which the target image is stored, if required. |
Source Image Name | The name of the source image as it appears in the development repository. |
Target Image Name |
The name of the duplicated copy of the image in the reference repository. You can change the original source name of images this way. |
Target Tag | The name of the target image tag. |
This strategy populates the artifact repository using content from one or several folders found on the same machine as the DROPS Server. It scans the directory(ies) and retrieves content according to the filters defined.
In the dialog to create or edit a File System strategy, the root path to the directory in which your artifacts are stored is defined. To filter the defined path and tell DROPS to import only certain artifacts instead of everything found in the root path, define a regular expression that filters which files to import.
There are two ways to filter by the last date artifacts were modified:
- define a range of dates: all the files that have a last modification date in this range will be imported.
- define a date limit: all the files that have a last modification date before this date will be imported. This date limit is computed by subtracting time from the execution date. To define this date, enter the amount of time to subtract and also the time (day, minute or hour).
Field | Description |
---|---|
Directory |
The root path of the directory to scan. Important!
This directory must be a sub-directory of the Root Directory defined in the parent import strategy. |
Filter (regExp) | The regular expression to filter the artifacts in the Directory. By default this value is .*. |
Use a Date Set | Select this option to use a last modification date filter based on a date range. |
Start Date | [Optional] The lower limit of the date range. Any artifacts modified after this date/time will be imported. |
End Date | [Optional] The upper limit of the date range. Any artifacts modified before this date/time will be imported. |
Use Execution Date | Select this option to use a last modification date filter based on a date limit. |
Amount to subtract | The amount of time to subtract from the date/time of the import. Any artifacts modified between when the import is launched and the time difference defined here will be imported. Set the number in this field and use the Part of impact field to set the value. |
Part to impact |
The unit of time to use to subtract the value defined in the Amount to subtract field from the date/time the import is launched. Example
If you set the Amount to 20 and the Part to Minute, any artifacts modified in the twenty minutes prior to launching the import will be imported. |
To create a File System strategy filter, click the Create button in the File System strategy manager and define the directory to scan and the filters to apply.
To edit an existing filter, double-click it, or select it, then click the Edit button.
To delete a filter, select it, then click the Delete button.
Deleted filters are no longer associated with the import strategy and cannot be accessed or recovered.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from a Git repository.
This strategy executes the GIT checkout command to reach a GIT repository.
To correctly invoke the GIT command line processor, the DROPS Server must know its location. This location is defined by a DROPS administrator in the Git strategy Settings section of the DROPS - Import Process category of the DROPS Server settings. The path set there will be used for all of the GIT strategies created for the current server, so the URL that points to your artifacts must correspond to it.
For more information about setting the path to the Git executable, refer to SCMs (CVS, Docker, GIT, SVN) access settings.
Artifacts are exported from a GIT repository when DROPS executes the following command. When the necessary connection information
is defined, DROPS uses the information to create and send the fully-defined command to the GIT.
#Local Git Repository Preparation git clone https://username
:password
@git-repository-url
target-export-path
git --git-dir="target-export-path
.git" --work-tree="target-export-path
" fetch --tag #Modification retrieval for a given tag git --git-dir="target-export-path
.git" --work-tree="target-export-path
" checkout tags/particular-tag
The username, password, git-repository-URL and particular-tag parameters (in bold
in the example above) are either defined in the GIT Repository Connection Properties section or can be replaced by properties defined either in the parent import strategy or the Extended Properties section by referencing them using substitution variables.
The target-export-path is assigned by the Root Directory.
For more information about this process, refer to Substitution variables.
Define connection properties specific to this strategy and the external GIT tool in the GIT Repository Connection Properties section. These properties are used to pass connection information to the GIT command line when the import process begins.
The following properties/substitution variables can be called into the extended configuration of an import strategy or a import strategy template:
- any user-defined property in an application
- the
${activity.[activityID].component.code}
substitution variable - any user-defined property in an import strategy
Using the ${importStrategy.props.env}
variable in a template enables you to create an "env" property in the import strategy that uses the template which will be called when the extended configuration is taken into account.
For more information about using properties, refer to Properties and Substitution variables.
To define a property, click the Create button in the Extended Properties. Define the Key and Value of the property in the dialog. To edit an existing property, double-click it, or select it, then click the Edit button.
To delete a property, select it, then click the Delete button.
Deleted properties are no longer associated with the import strategy and cannot be accessed, recovered or called by a substitution variable.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from an IBM i repository.
This strategy is intended to retrieve and import existing SAVF files from an IBM i that match the provided Save File Name Pattern defined in the List of Save Files section. Regex can be entered in this section.
DROPS connects to the target IBM i using the provided system, login and password. It will eventually set the iASP for the connection if one is defined (and different from *SYSBAS).
DROPS will first transfer each SAVF file found to the temporary IFS directory defined (using the CPYTOSTMF IBM i command), and then copy them to the artifact repository.
The content of Save Files imported using the IBM i and Arcad Import Strategies are saved as .txt attachments by default. This makes it easy to refer to the content of the Save File outside of IBM i after it has been imported into the DROPS Studio.
Field | Description |
---|---|
IFS Temporary Directory | The directory where DROPS will put the files listed in the List of Save Files section. |
iASP | The independent auxiliary storage pool. |
IBM i System, Login & Password | The connection information for the target IBM i. |
Library & Command | An IBM i command to run before DROPS locates the files listed in the List of Save Files section. |
To define a SAVF file, click the Add button in the List of Save Files manager.
To edit an existing SAVF file, double-click it, or select it, then click the Edit button.
To delete a SAVF file from the list, select it, then click the Remove button.
Deleted file patterns are no longer associated with the import strategy and cannot be accessed or recovered.
Save the changes (, Ctrl+S
or File > Save).
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from a unique Maven repository.
No maven client is required.
Define connection properties specific to this strategy and the external Maven server in the Repository Information section. All maven repositories respect the same path syntax (Maven Coordinates) which must be defined in the Artifact Information section.
Field | Description |
---|---|
Repository URL | The depot root repository URL. |
Repository user | The user to connect to the Maven repository, if required. |
Repository password | The user password used to connect to the Maven repository, if required. |
Group ID | The Maven group ID(s), separated by periods. |
Artifact ID | The Maven artifact ID(s), separated by periods. |
Version | The version of the artifact(s) to import. |
Extension | If there are other types included in the version that have different extensions, enter them here. |
Classifier | [Optional] Enter any complementary artifacts to deliver, separated by periods. |
This import strategy based on SFTP allows you to retrieve artifacts form a remote host, using SFTP.
It populates the artifact repository by using the content set in the Root Directory field, by downloading data from a remote machine reachable via SSH. It scans all the remote directories, including their subdirectories, and retrieves their content according to the defined filters. This import strategy preserves the directory structure and references these files as artifacts.
In the dialog to create or edit an SFTP import strategy, set the Directory field with the root path to the directory in which your artifacts are stored. To filter the defined path and tell DROPS to import only certain artifacts instead of everything found in the root path, define a regular expression that filters which files to import in the Filter (regEx) field.
Parameter | Description |
---|---|
OS Family | Indicates the OS Type of the target host. This information defines the path separator. |
Host | Indicates the IP Address or DNS of the target machine. |
Port | Sets the SSH port. |
User | Sets the username on the remote host to which you are connecting. |
SSH Key | Sets the DROPS SSH Key that is used by the SSH communication. |
Remote base directory | Sets the remote parent directory of the artifacts that will be downloaded. |
The Host, Remote Base Directory and User parameters can be set with substitution variables that are substituted at the beginning of the execution.
This strategy populates the artifact repository using the content of the Root Directory after filling it by exporting data from an SVN repository then following the standard process.
This strategy executes the SVN export command to reach an SVN repository.
To correctly invoke the SVN command line processor, the DROPS Server must know its location. This location is defined by a DROPS administrator in the SVN Strategy Settings section of the DROPS - Import Process category of the DROPS Server settings. The path set there will be used for all of the SVN strategies created for the current server, so the URL that points to your artifacts must correspond to it.
For more information about setting the path to the SVN executable, refer to SCMs (CVS, Docker, GIT, SVN) access settings.
Artifacts are exported from an SVN repository when DROPS executes the following command. When the necessary connection information
is defined, DROPS uses the information to create and send the fully-defined command to the SVN.
svn export [-rrevision
] [--ignore-externals] [--depth ARG] [--force] [--ignore-keywords] [--native-eol ARG] [--quiet]svn-repository-url
target-export-path
--usernameusername
--passwordpassword
--non-interactive
Define connection properties specific to this strategy and the external SVN tool in the Connection Information section. These properties are used to pass connection information to the SVN command line when the import process begins.
The parameters to define (in bold in the example above) can use the properties defined in the parent import strategy or the Extended Properties section by referencing them using substitution variables.
For more information about this process, refer to Substitution variables.
Field | Description |
---|---|
Repository URL | The SVN repository URL. For example: SVN//ip number /repository |
User | The user to connect to the SVN repository. |
Password | The user password used to connect to the SVN repository. |
Revision |
[Optional] The SCM's revision to export. This value is used to define which of the SCM's versions the artifacts should come from when they are imported.
Reference
For more information about defining the external version to import, refer to Setting up the DROPS processes. |
Define properties specific to this strategy in the Extended Properties section. These properties can be used to add options to the connection command.
- If a property contains a key called --force and the value is blank, the option --force will be added to the command parameter.
- If a property contains a key called --native-eol and the value is CRLF, the option --native-eol CRLF will be added to the command parameter.
To define a property, click the Create button in the Extended Properties. Define the Key and Value of the property in the dialog. To edit an existing property, double-click it, or select it, then click the Edit button.
To delete a property, select it, then click the Delete button.
Deleted properties are no longer associated with the import strategy and cannot be accessed, recovered or called by a substitution variable.
Save the changes (, Ctrl+S
or File > Save).