Add support for Artifactory plugin
Artifactory support adds three modules to jenkins-job-builder: 1. Artifactory publisher 2. Artifactory wrapper (for Maven projects) 3. Generic-Artifactory wrapper (for other project types) Change-Id: I801bba707198226d63c94d869cae9167eb4906d4
This commit is contained in:
parent
59a8342f85
commit
a39c4d85d1
@ -242,3 +242,113 @@ def cloudformation_stack(xml_parent, stack, xml_tag, stacks, region_dict):
|
|||||||
XML.SubElement(step, 'cloudFormationRecipe').text = stack['recipe']
|
XML.SubElement(step, 'cloudFormationRecipe').text = stack['recipe']
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
raise MissingAttributeError(e.args[0])
|
raise MissingAttributeError(e.args[0])
|
||||||
|
|
||||||
|
|
||||||
|
def include_exclude_patterns(xml_parent, data, yaml_prefix,
|
||||||
|
xml_elem_name):
|
||||||
|
xml_element = XML.SubElement(xml_parent, xml_elem_name)
|
||||||
|
XML.SubElement(xml_element, 'includePatterns').text = ','.join(
|
||||||
|
data.get(yaml_prefix + '-include-patterns', []))
|
||||||
|
XML.SubElement(xml_element, 'excludePatterns').text = ','.join(
|
||||||
|
data.get(yaml_prefix + '-exclude-patterns', []))
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_deployment_patterns(xml_parent, data):
|
||||||
|
include_exclude_patterns(xml_parent, data, 'deployment',
|
||||||
|
'artifactDeploymentPatterns')
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_env_vars_patterns(xml_parent, data):
|
||||||
|
include_exclude_patterns(xml_parent, data, 'env-vars',
|
||||||
|
'envVarsPatterns')
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_optional_props(xml_parent, data, target):
|
||||||
|
optional_str_props = [
|
||||||
|
('scopes', 'scopes'),
|
||||||
|
('violationRecipients', 'violation-recipients'),
|
||||||
|
('blackDuckAppName', 'black-duck-app-name'),
|
||||||
|
('blackDuckAppVersion', 'black-duck-app-version'),
|
||||||
|
('blackDuckReportRecipients', 'black-duck-report-recipients'),
|
||||||
|
('blackDuckScopes', 'black-duck-scopes')
|
||||||
|
]
|
||||||
|
|
||||||
|
for (xml_prop, yaml_prop) in optional_str_props:
|
||||||
|
XML.SubElement(xml_parent, xml_prop).text = data.get(
|
||||||
|
yaml_prop, '')
|
||||||
|
|
||||||
|
common_bool_props = [
|
||||||
|
# xml property name, yaml property name, default value
|
||||||
|
('deployArtifacts', 'deploy-artifacts', True),
|
||||||
|
('discardOldBuilds', 'discard-old-builds', False),
|
||||||
|
('discardBuildArtifacts', 'discard-build-artifacts', False),
|
||||||
|
('deployBuildInfo', 'publish-build-info', False),
|
||||||
|
('includeEnvVars', 'env-vars-include', False),
|
||||||
|
('runChecks', 'run-checks', False),
|
||||||
|
('includePublishArtifacts', 'include-publish-artifacts', False),
|
||||||
|
('licenseAutoDiscovery', 'license-auto-discovery', True),
|
||||||
|
('enableIssueTrackerIntegration', 'enable-issue-tracker-integration',
|
||||||
|
False),
|
||||||
|
('aggregateBuildIssues', 'aggregate-build-issues', False),
|
||||||
|
('blackDuckRunChecks', 'black-duck-run-checks', False),
|
||||||
|
('blackDuckIncludePublishedArtifacts',
|
||||||
|
'black-duck-include-published-artifacts', False),
|
||||||
|
('autoCreateMissingComponentRequests',
|
||||||
|
'auto-create-missing-component-requests', True),
|
||||||
|
('autoDiscardStaleComponentRequests',
|
||||||
|
'auto-discard-stale-component-requests', True),
|
||||||
|
('filterExcludedArtifactsFromBuild',
|
||||||
|
'filter-excluded-artifacts-from-build', False)
|
||||||
|
]
|
||||||
|
|
||||||
|
for (xml_prop, yaml_prop, default_value) in common_bool_props:
|
||||||
|
XML.SubElement(xml_parent, xml_prop).text = str(data.get(
|
||||||
|
yaml_prop, default_value)).lower()
|
||||||
|
|
||||||
|
if 'wrappers' in target:
|
||||||
|
wrapper_bool_props = [
|
||||||
|
('enableResolveArtifacts', 'enable-resolve-artifacts', False),
|
||||||
|
('disableLicenseAutoDiscovery',
|
||||||
|
'disable-license-auto-discovery', False),
|
||||||
|
('recordAllDependencies',
|
||||||
|
'record-all-dependencies', False)
|
||||||
|
]
|
||||||
|
|
||||||
|
for (xml_prop, yaml_prop, default_value) in wrapper_bool_props:
|
||||||
|
XML.SubElement(xml_parent, xml_prop).text = str(data.get(
|
||||||
|
yaml_prop, default_value)).lower()
|
||||||
|
|
||||||
|
if 'publishers' in target:
|
||||||
|
publisher_bool_props = [
|
||||||
|
('evenIfUnstable', 'even-if-unstable', False),
|
||||||
|
('passIdentifiedDownstream', 'pass-identified-downstream', False),
|
||||||
|
('allowPromotionOfNonStagedBuilds',
|
||||||
|
'allow-promotion-of-non-staged-builds', False)
|
||||||
|
]
|
||||||
|
|
||||||
|
for (xml_prop, yaml_prop, default_value) in publisher_bool_props:
|
||||||
|
XML.SubElement(xml_parent, xml_prop).text = str(data.get(
|
||||||
|
yaml_prop, default_value)).lower()
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_common_details(details, data):
|
||||||
|
XML.SubElement(details, 'artifactoryName').text = data.get('name', '')
|
||||||
|
XML.SubElement(details, 'artifactoryUrl').text = data.get('url', '')
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_repository(xml_parent, data, target):
|
||||||
|
if 'release' in target:
|
||||||
|
XML.SubElement(xml_parent, 'keyFromText').text = data.get(
|
||||||
|
'deploy-release-repo-key', '')
|
||||||
|
XML.SubElement(xml_parent, 'keyFromSelect').text = data.get(
|
||||||
|
'deploy-release-repo-key', '')
|
||||||
|
XML.SubElement(xml_parent, 'dynamicMode').text = str(
|
||||||
|
data.get('deploy-dynamic-mode', False)).lower()
|
||||||
|
|
||||||
|
if 'snapshot' in target:
|
||||||
|
XML.SubElement(xml_parent, 'keyFromText').text = data.get(
|
||||||
|
'deploy-snapshot-repo-key', '')
|
||||||
|
XML.SubElement(xml_parent, 'keyFromSelect').text = data.get(
|
||||||
|
'deploy-snapshot-repo-key', '')
|
||||||
|
XML.SubElement(xml_parent, 'dynamicMode').text = str(
|
||||||
|
data.get('deploy-dynamic-mode', False)).lower()
|
||||||
|
@ -36,6 +36,10 @@ from jenkins_jobs.modules.helpers import cloudformation_stack
|
|||||||
from jenkins_jobs.modules.helpers import config_file_provider_settings
|
from jenkins_jobs.modules.helpers import config_file_provider_settings
|
||||||
from jenkins_jobs.modules.helpers import findbugs_settings
|
from jenkins_jobs.modules.helpers import findbugs_settings
|
||||||
from jenkins_jobs.modules.helpers import get_value_from_yaml_or_config_file
|
from jenkins_jobs.modules.helpers import get_value_from_yaml_or_config_file
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_deployment_patterns
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_env_vars_patterns
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_optional_props
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_common_details
|
||||||
from jenkins_jobs.errors import (InvalidAttributeError,
|
from jenkins_jobs.errors import (InvalidAttributeError,
|
||||||
JenkinsJobsException,
|
JenkinsJobsException,
|
||||||
MissingAttributeError)
|
MissingAttributeError)
|
||||||
@ -2467,6 +2471,144 @@ def maven_deploy(parser, xml_parent, data):
|
|||||||
XML.SubElement(p, 'releaseEnvVar').text = data['release-env-var']
|
XML.SubElement(p, 'releaseEnvVar').text = data['release-env-var']
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory(parser, xml_parent, data):
|
||||||
|
""" yaml: artifactory
|
||||||
|
Uses/requires the Artifactory plugin to deploy artifacts to
|
||||||
|
Artifactory Server.
|
||||||
|
|
||||||
|
Requires the Jenkins `Artifactory Plugin.
|
||||||
|
:jenkins-wiki: `Artifactory Plugin <Artifactory+Plugin>`.
|
||||||
|
|
||||||
|
:arg str url: Artifactory server url (default '')
|
||||||
|
:arg str name: Artifactory user with permissions use for
|
||||||
|
connected to the selected Artifactory Server (default '')
|
||||||
|
:arg str release-repo-key: Release repository name (default '')
|
||||||
|
:arg str snapshot-repo-key: Snapshots repository name (default '')
|
||||||
|
:arg bool publish-build-info: Push build metadata with artifacts
|
||||||
|
(default False)
|
||||||
|
:arg bool discard-old-builds:
|
||||||
|
Remove older build info from Artifactory (default False)
|
||||||
|
:arg bool discard-build-artifacts:
|
||||||
|
Remove older build artifacts from Artifactory (default False)
|
||||||
|
:arg bool even-if-unstable: Deploy artifacts even when the build
|
||||||
|
is unstable (default False)
|
||||||
|
:arg bool run-checks: Run automatic license scanning check after the
|
||||||
|
build is complete (default False)
|
||||||
|
:arg bool include-publish-artifacts: Include the build's published
|
||||||
|
module artifacts in the license violation checks if they are
|
||||||
|
also used as dependencies for other modules in this build
|
||||||
|
(default False)
|
||||||
|
:arg bool pass-identified-downstream: When true, a build parameter
|
||||||
|
named ARTIFACTORY_BUILD_ROOT with a value of
|
||||||
|
${JOB_NAME}-${BUILD_NUMBER} will be sent to downstream builds
|
||||||
|
(default False)
|
||||||
|
:arg bool license-auto-discovery: Tells Artifactory not to try
|
||||||
|
and automatically analyze and tag the build's dependencies
|
||||||
|
with license information upon deployment (default True)
|
||||||
|
:arg bool enable-issue-tracker-integration: When the Jenkins
|
||||||
|
JIRA plugin is enabled, synchronize information about JIRA
|
||||||
|
issues to Artifactory and attach issue information to build
|
||||||
|
artifacts (default False)
|
||||||
|
:arg bool aggregate-build-issues: When the Jenkins JIRA plugin
|
||||||
|
is enabled, include all issues from previous builds up to the
|
||||||
|
latest build status defined in "Aggregation Build Status"
|
||||||
|
(default False)
|
||||||
|
:arg bool allow-promotion-of-non-staged-builds: The build
|
||||||
|
promotion operation will be available to all successful builds
|
||||||
|
instead of only staged ones (default False)
|
||||||
|
:arg bool filter-excluded-artifacts-from-build: Add the excluded
|
||||||
|
files to the excludedArtifacts list and remove them from the
|
||||||
|
artifacts list in the build info (default False)
|
||||||
|
:arg str scopes: A list of dependency scopes/configurations to run
|
||||||
|
license violation checks on. If left empty all dependencies from
|
||||||
|
all scopes will be checked (default '')
|
||||||
|
:arg str violation-recipients: Recipients that need to be notified
|
||||||
|
of license violations in the build info (default '')
|
||||||
|
:arg list matrix-params: Semicolon-separated list of properties to
|
||||||
|
attach to all deployed artifacts in addition to the default ones:
|
||||||
|
build.name, build.number, and vcs.revision (default [])
|
||||||
|
:arg str black-duck-app-name: The existing Black Duck Code Center
|
||||||
|
application name (default '')
|
||||||
|
:arg str black-duck-app-version: The existing Black Duck Code Center
|
||||||
|
application version (default '')
|
||||||
|
:arg str black-duck-report-recipients: Recipients that will be emailed
|
||||||
|
a report after the automatic Black Duck Code Center compliance checks
|
||||||
|
finished (default '')
|
||||||
|
:arg str black-duck-scopes: A list of dependency scopes/configurations
|
||||||
|
to run Black Duck Code Center compliance checks on. If left empty
|
||||||
|
all dependencies from all scopes will be checked (default '')
|
||||||
|
:arg bool black-duck-run-checks: Automatic Black Duck Code Center
|
||||||
|
compliance checks will occur after the build completes
|
||||||
|
(default False)
|
||||||
|
:arg bool black-duck-include-published-artifacts: Include the build's
|
||||||
|
published module artifacts in the license violation checks if they
|
||||||
|
are also used as dependencies for other modules in this build
|
||||||
|
(default False)
|
||||||
|
:arg bool auto-create-missing-component-requests: Auto create
|
||||||
|
missing components in Black Duck Code Center application after
|
||||||
|
the build is completed and deployed in Artifactory
|
||||||
|
(default True)
|
||||||
|
:arg bool auto-discard-stale-component-requests: Auto discard
|
||||||
|
stale components in Black Duck Code Center application after
|
||||||
|
the build is completed and deployed in Artifactory
|
||||||
|
(default True)
|
||||||
|
:arg bool deploy-artifacts: Push artifacts to the Artifactory
|
||||||
|
Server. Use deployment-include-patterns and
|
||||||
|
deployment-exclude-patterns to filter deploy artifacts. (default True)
|
||||||
|
:arg list deployment-include-patterns: New line or comma separated mappings
|
||||||
|
of build artifacts to published artifacts. Supports Ant-style wildcards
|
||||||
|
mapping to target directories. E.g.: */*.zip=>dir (default [])
|
||||||
|
:arg list deployment-exclude-patterns: New line or comma separated patterns
|
||||||
|
for excluding artifacts from deployment to Artifactory (default [])
|
||||||
|
:arg bool env-vars-include: Include all environment variables
|
||||||
|
accessible by the build process. Jenkins-specific env variables
|
||||||
|
are always included. Use env-vars-include-patterns and
|
||||||
|
env-vars-exclude-patterns to filter variables to publish,
|
||||||
|
(default False)
|
||||||
|
:arg list env-vars-include-patterns: Comma or space-separated list of
|
||||||
|
environment variables that will be included as part of the published
|
||||||
|
build info. Environment variables may contain the * and the ? wildcards
|
||||||
|
(default [])
|
||||||
|
:arg list env-vars-exclude-patterns: Comma or space-separated list of
|
||||||
|
environment variables that will be excluded from the published
|
||||||
|
build info (default [])
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/publishers/fixtures/artifactory01.yaml
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/publishers/fixtures/artifactory02.yaml
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
artifactory = XML.SubElement(
|
||||||
|
xml_parent, 'org.jfrog.hudson.ArtifactoryRedeployPublisher')
|
||||||
|
|
||||||
|
# optional_props
|
||||||
|
artifactory_optional_props(artifactory, data, 'publishers')
|
||||||
|
|
||||||
|
XML.SubElement(artifactory, 'matrixParams').text = ','.join(
|
||||||
|
data.get('matrix-params', []))
|
||||||
|
|
||||||
|
# details
|
||||||
|
details = XML.SubElement(artifactory, 'details')
|
||||||
|
artifactory_common_details(details, data)
|
||||||
|
|
||||||
|
XML.SubElement(details, 'repositoryKey').text = data.get(
|
||||||
|
'release-repo-key', '')
|
||||||
|
XML.SubElement(details, 'snapshotsRepositoryKey').text = data.get(
|
||||||
|
'snapshot-repo-key', '')
|
||||||
|
|
||||||
|
plugin = XML.SubElement(details, 'stagingPlugin')
|
||||||
|
XML.SubElement(plugin, 'pluginName').text = 'None'
|
||||||
|
|
||||||
|
# artifactDeploymentPatterns
|
||||||
|
artifactory_deployment_patterns(artifactory, data)
|
||||||
|
|
||||||
|
# envVarsPatterns
|
||||||
|
artifactory_env_vars_patterns(artifactory, data)
|
||||||
|
|
||||||
|
|
||||||
def text_finder(parser, xml_parent, data):
|
def text_finder(parser, xml_parent, data):
|
||||||
"""yaml: text-finder
|
"""yaml: text-finder
|
||||||
This plugin lets you search keywords in the files you specified and
|
This plugin lets you search keywords in the files you specified and
|
||||||
|
@ -31,6 +31,11 @@ from jenkins_jobs.errors import (JenkinsJobsException,
|
|||||||
MissingAttributeError)
|
MissingAttributeError)
|
||||||
from jenkins_jobs.modules.builders import create_builders
|
from jenkins_jobs.modules.builders import create_builders
|
||||||
from jenkins_jobs.modules.helpers import config_file_provider_builder
|
from jenkins_jobs.modules.helpers import config_file_provider_builder
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_common_details
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_repository
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_deployment_patterns
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_env_vars_patterns
|
||||||
|
from jenkins_jobs.modules.helpers import artifactory_optional_props
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -1647,6 +1652,272 @@ def android_emulator(parser, xml_parent, data):
|
|||||||
XML.SubElement(root, 'executable').text = str(data.get('exe', ''))
|
XML.SubElement(root, 'executable').text = str(data.get('exe', ''))
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_maven(parser, xml_parent, data):
|
||||||
|
""" yaml: artifactory-maven
|
||||||
|
Wrapper for non-Maven projects. Requires the
|
||||||
|
:jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
|
||||||
|
|
||||||
|
:arg str url: URL of the Artifactory server. e.g.
|
||||||
|
http://www.jfrog.com/artifactory/ (default '')
|
||||||
|
:arg str name: Artifactory user with permissions use for
|
||||||
|
connected to the selected Artifactory Server
|
||||||
|
(default '')
|
||||||
|
:arg str repo-key: Name of the repository to search for
|
||||||
|
artifact dependencies. Provide a single repo-key or provide
|
||||||
|
separate release-repo-key and snapshot-repo-key.
|
||||||
|
:arg str release-repo-key: Release repository name. Value of
|
||||||
|
repo-key take priority over release-repo-key if provided.
|
||||||
|
:arg str snapshot-repo-key: Snapshots repository name. Value of
|
||||||
|
repo-key take priority over release-repo-key if provided.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/wrappers/fixtures/artifactory001.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
artifactory = XML.SubElement(
|
||||||
|
xml_parent,
|
||||||
|
'org.jfrog.hudson.maven3.ArtifactoryMaven3NativeConfigurator')
|
||||||
|
|
||||||
|
# details
|
||||||
|
details = XML.SubElement(artifactory, 'details')
|
||||||
|
artifactory_common_details(details, data)
|
||||||
|
|
||||||
|
if 'repo-key' in data:
|
||||||
|
XML.SubElement(
|
||||||
|
details, 'downloadRepositoryKey').text = data['repo-key']
|
||||||
|
else:
|
||||||
|
XML.SubElement(
|
||||||
|
details, 'downloadSnapshotRepositoryKey').text = data.get(
|
||||||
|
'snapshot-repo-key', '')
|
||||||
|
XML.SubElement(
|
||||||
|
details, 'downloadReleaseRepositoryKey').text = data.get(
|
||||||
|
'release-repo-key', '')
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_generic(parser, xml_parent, data):
|
||||||
|
""" yaml: artifactory-generic
|
||||||
|
Wrapper for non-Maven projects. Requires the
|
||||||
|
:jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
|
||||||
|
|
||||||
|
:arg str url: URL of the Artifactory server. e.g.
|
||||||
|
http://www.jfrog.com/artifactory/ (default: '')
|
||||||
|
:arg str name: Artifactory user with permissions use for
|
||||||
|
connected to the selected Artifactory Server
|
||||||
|
(default '')
|
||||||
|
:arg str repo-key: Release repository name (default '')
|
||||||
|
:arg str snapshot-repo-key: Snapshots repository name (default '')
|
||||||
|
:arg list deploy-pattern: List of patterns for mappings
|
||||||
|
build artifacts to published artifacts. Supports Ant-style wildcards
|
||||||
|
mapping to target directories. E.g.: */*.zip=>dir (default [])
|
||||||
|
:arg list resolve-pattern: List of references to other
|
||||||
|
artifacts that this build should use as dependencies.
|
||||||
|
:arg list matrix-params: List of properties to attach to all deployed
|
||||||
|
artifacts in addition to the default ones: build.name, build.number,
|
||||||
|
and vcs.revision (default [])
|
||||||
|
:arg bool deploy-build-info: Deploy jenkins build metadata with
|
||||||
|
artifacts to Artifactory (default False)
|
||||||
|
:arg bool env-vars-include: Include environment variables accessible by
|
||||||
|
the build process. Jenkins-specific env variables are always included.
|
||||||
|
Use the env-vars-include-patterns and env-vars-exclude-patterns to
|
||||||
|
filter the environment variables published to artifactory.
|
||||||
|
(default False)
|
||||||
|
:arg list env-vars-include-patterns: List of environment variable patterns
|
||||||
|
for including env vars as part of the published build info. Environment
|
||||||
|
variables may contain the * and the ? wildcards (default [])
|
||||||
|
:arg list env-vars-exclude-patterns: List of environment variable patterns
|
||||||
|
that determine the env vars excluded from the published build info
|
||||||
|
(default [])
|
||||||
|
:arg bool discard-old-builds:
|
||||||
|
Remove older build info from Artifactory (default False)
|
||||||
|
:arg bool discard-build-artifacts:
|
||||||
|
Remove older build artifacts from Artifactory (default False)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/wrappers/fixtures/artifactory002.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
artifactory = XML.SubElement(
|
||||||
|
xml_parent,
|
||||||
|
'org.jfrog.hudson.generic.ArtifactoryGenericConfigurator')
|
||||||
|
|
||||||
|
# details
|
||||||
|
details = XML.SubElement(artifactory, 'details')
|
||||||
|
artifactory_common_details(details, data)
|
||||||
|
|
||||||
|
XML.SubElement(details, 'repositoryKey').text = data.get('repo-key', '')
|
||||||
|
XML.SubElement(details, 'snapshotsRepositoryKey').text = data.get(
|
||||||
|
'snapshot-repo-key', '')
|
||||||
|
|
||||||
|
XML.SubElement(artifactory, 'deployPattern').text = ','.join(data.get(
|
||||||
|
'deploy-pattern', []))
|
||||||
|
XML.SubElement(artifactory, 'resolvePattern').text = ','.join(
|
||||||
|
data.get('resolve-pattern', []))
|
||||||
|
XML.SubElement(artifactory, 'matrixParams').text = ','.join(
|
||||||
|
data.get('matrix-params', []))
|
||||||
|
|
||||||
|
XML.SubElement(artifactory, 'deployBuildInfo').text = str(
|
||||||
|
data.get('deploy-build-info', False)).lower()
|
||||||
|
XML.SubElement(artifactory, 'includeEnvVars').text = str(
|
||||||
|
data.get('env-vars-include', False)).lower()
|
||||||
|
XML.SubElement(artifactory, 'discardOldBuilds').text = str(
|
||||||
|
data.get('discard-old-builds', False)).lower()
|
||||||
|
XML.SubElement(artifactory, 'discardBuildArtifacts').text = str(
|
||||||
|
data.get('discard-build-artifacts', True)).lower()
|
||||||
|
|
||||||
|
# envVarsPatterns
|
||||||
|
artifactory_env_vars_patterns(artifactory, data)
|
||||||
|
|
||||||
|
|
||||||
|
def artifactory_maven_freestyle(parser, xml_parent, data):
|
||||||
|
""" yaml: artifactory-maven-freestyle
|
||||||
|
Wrapper for Free Stype projects. Requires the Artifactory plugin.
|
||||||
|
Requires :jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
|
||||||
|
|
||||||
|
:arg str url: URL of the Artifactory server. e.g.
|
||||||
|
http://www.jfrog.com/artifactory/ (default: '')
|
||||||
|
:arg str name: Artifactory user with permissions use for
|
||||||
|
connected to the selected Artifactory Server (default '')
|
||||||
|
:arg str release-repo-key: Release repository name (default '')
|
||||||
|
:arg str snapshot-repo-key: Snapshots repository name (default '')
|
||||||
|
:arg bool publish-build-info: Push build metadata with artifacts
|
||||||
|
(default False)
|
||||||
|
:arg bool discard-old-builds:
|
||||||
|
Remove older build info from Artifactory (default True)
|
||||||
|
:arg bool discard-build-artifacts:
|
||||||
|
Remove older build artifacts from Artifactory (default False)
|
||||||
|
:arg bool include-env-vars: Include all environment variables
|
||||||
|
accessible by the build process. Jenkins-specific env variables
|
||||||
|
are always included (default False)
|
||||||
|
:arg bool run-checks: Run automatic license scanning check after the
|
||||||
|
build is complete (default False)
|
||||||
|
:arg bool include-publish-artifacts: Include the build's published
|
||||||
|
module artifacts in the license violation checks if they are
|
||||||
|
also used as dependencies for other modules in this build
|
||||||
|
(default False)
|
||||||
|
:arg bool license-auto-discovery: Tells Artifactory not to try
|
||||||
|
and automatically analyze and tag the build's dependencies
|
||||||
|
with license information upon deployment (default True)
|
||||||
|
:arg bool enable-issue-tracker-integration: When the Jenkins
|
||||||
|
JIRA plugin is enabled, synchronize information about JIRA
|
||||||
|
issues to Artifactory and attach issue information to build
|
||||||
|
artifacts (default False)
|
||||||
|
:arg bool aggregate-build-issues: When the Jenkins JIRA plugin
|
||||||
|
is enabled, include all issues from previous builds up to the
|
||||||
|
latest build status defined in "Aggregation Build Status"
|
||||||
|
(default False)
|
||||||
|
:arg bool filter-excluded-artifacts-from-build: Add the excluded
|
||||||
|
files to the excludedArtifacts list and remove them from the
|
||||||
|
artifacts list in the build info (default False)
|
||||||
|
:arg str scopes: A list of dependency scopes/configurations to run
|
||||||
|
license violation checks on. If left empty all dependencies from
|
||||||
|
all scopes will be checked (default '')
|
||||||
|
:arg str violation-recipients: Recipients that need to be notified
|
||||||
|
of license violations in the build info (default '')
|
||||||
|
:arg list matrix-params: List of properties to attach to all
|
||||||
|
deployed artifacts in addition to the default ones:
|
||||||
|
build.name, build.number, and vcs.revision (default '')
|
||||||
|
:arg str black-duck-app-name: The existing Black Duck Code Center
|
||||||
|
application name (default '')
|
||||||
|
:arg str black-duck-app-version: The existing Black Duck Code Center
|
||||||
|
application version (default '')
|
||||||
|
:arg str black-duck-report-recipients: Recipients that will be emailed
|
||||||
|
a report after the automatic Black Duck Code Center compliance checks
|
||||||
|
finished (default '')
|
||||||
|
:arg str black-duck-scopes: A list of dependency scopes/configurations
|
||||||
|
to run Black Duck Code Center compliance checks on. If left empty
|
||||||
|
all dependencies from all scopes will be checked (default '')
|
||||||
|
:arg bool black-duck-run-checks: Automatic Black Duck Code Center
|
||||||
|
compliance checks will occur after the build completes
|
||||||
|
(default False)
|
||||||
|
:arg bool black-duck-include-published-artifacts: Include the build's
|
||||||
|
published module artifacts in the license violation checks if they
|
||||||
|
are also used as dependencies for other modules in this build
|
||||||
|
(default False)
|
||||||
|
:arg bool auto-create-missing-component-requests: Auto create
|
||||||
|
missing components in Black Duck Code Center application after
|
||||||
|
the build is completed and deployed in Artifactory
|
||||||
|
(default True)
|
||||||
|
:arg bool auto-discard-stale-component-requests: Auto discard
|
||||||
|
stale components in Black Duck Code Center application after
|
||||||
|
the build is completed and deployed in Artifactory
|
||||||
|
(default True)
|
||||||
|
:arg bool deploy-artifacts: Push artifacts to the Artifactory
|
||||||
|
Server. The specific artifacts to push are controlled using
|
||||||
|
the deployment-include-patterns and deployment-exclude-patterns.
|
||||||
|
(default True)
|
||||||
|
:arg list deployment-include-patterns: List of patterns for including
|
||||||
|
build artifacts to publish to artifactory. (default[]')
|
||||||
|
:arg list deployment-exclude-patterns: List of patterns
|
||||||
|
for excluding artifacts from deployment to Artifactory
|
||||||
|
(default [])
|
||||||
|
:arg bool env-vars-include: Include environment variables
|
||||||
|
accessible by the build process. Jenkins-specific env variables
|
||||||
|
are always included. Environment variables can be filtered using
|
||||||
|
the env-vars-include-patterns nad env-vars-exclude-patterns.
|
||||||
|
(default False)
|
||||||
|
:arg list env-vars-include-patterns: List of environment variable patterns
|
||||||
|
that will be included as part of the published build info. Environment
|
||||||
|
variables may contain the * and the ? wildcards (default [])
|
||||||
|
:arg list env-vars-exclude-patterns: List of environment variable patterns
|
||||||
|
that will be excluded from the published build info
|
||||||
|
(default [])
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. literalinclude:: /../../tests/wrappers/fixtures/artifactory003.yaml
|
||||||
|
:language: yaml
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
artifactory = XML.SubElement(
|
||||||
|
xml_parent,
|
||||||
|
'org.jfrog.hudson.maven3.ArtifactoryMaven3Configurator')
|
||||||
|
|
||||||
|
# details
|
||||||
|
details = XML.SubElement(artifactory, 'details')
|
||||||
|
artifactory_common_details(details, data)
|
||||||
|
|
||||||
|
deploy_release = XML.SubElement(details, 'deployReleaseRepository')
|
||||||
|
artifactory_repository(deploy_release, data, 'release')
|
||||||
|
|
||||||
|
deploy_snapshot = XML.SubElement(details, 'deploySnapshotRepository')
|
||||||
|
artifactory_repository(deploy_snapshot, data, 'snapshot')
|
||||||
|
|
||||||
|
XML.SubElement(details, 'stagingPlugin').text = data.get(
|
||||||
|
'resolve-staging-plugin', '')
|
||||||
|
|
||||||
|
# resolverDetails
|
||||||
|
resolver = XML.SubElement(artifactory, 'resolverDetails')
|
||||||
|
artifactory_common_details(resolver, data)
|
||||||
|
|
||||||
|
resolve_snapshot = XML.SubElement(resolver, 'resolveSnapshotRepository')
|
||||||
|
artifactory_repository(resolve_snapshot, data, 'snapshot')
|
||||||
|
|
||||||
|
deploy_release = XML.SubElement(resolver, 'resolveReleaseRepository')
|
||||||
|
artifactory_repository(deploy_release, data, 'release')
|
||||||
|
|
||||||
|
XML.SubElement(resolver, 'stagingPlugin').text = data.get(
|
||||||
|
'resolve-staging-plugin', '')
|
||||||
|
|
||||||
|
# artifactDeploymentPatterns
|
||||||
|
artifactory_deployment_patterns(artifactory, data)
|
||||||
|
|
||||||
|
# envVarsPatterns
|
||||||
|
artifactory_env_vars_patterns(artifactory, data)
|
||||||
|
|
||||||
|
XML.SubElement(artifactory, 'matrixParams').text = ','.join(
|
||||||
|
data.get('matrix-params', []))
|
||||||
|
|
||||||
|
# optional__props
|
||||||
|
artifactory_optional_props(artifactory, data, 'wrappers')
|
||||||
|
|
||||||
|
|
||||||
class Wrappers(jenkins_jobs.modules.base.Base):
|
class Wrappers(jenkins_jobs.modules.base.Base):
|
||||||
sequence = 80
|
sequence = 80
|
||||||
|
|
||||||
|
@ -137,6 +137,7 @@ jenkins_jobs.publishers =
|
|||||||
aggregate-tests=jenkins_jobs.modules.publishers:aggregate_tests
|
aggregate-tests=jenkins_jobs.modules.publishers:aggregate_tests
|
||||||
archive=jenkins_jobs.modules.publishers:archive
|
archive=jenkins_jobs.modules.publishers:archive
|
||||||
artifact-deployer=jenkins_jobs.modules.publishers:artifact_deployer
|
artifact-deployer=jenkins_jobs.modules.publishers:artifact_deployer
|
||||||
|
artifactory=jenkins_jobs.modules.publishers:artifactory
|
||||||
blame-upstream=jenkins_jobs.modules.publishers:blame_upstream
|
blame-upstream=jenkins_jobs.modules.publishers:blame_upstream
|
||||||
build-publisher=jenkins_jobs.modules.publishers:build_publisher
|
build-publisher=jenkins_jobs.modules.publishers:build_publisher
|
||||||
campfire=jenkins_jobs.modules.publishers:campfire
|
campfire=jenkins_jobs.modules.publishers:campfire
|
||||||
@ -251,6 +252,9 @@ jenkins_jobs.triggers =
|
|||||||
jenkins_jobs.wrappers =
|
jenkins_jobs.wrappers =
|
||||||
android-emulator=jenkins_jobs.modules.wrappers:android_emulator
|
android-emulator=jenkins_jobs.modules.wrappers:android_emulator
|
||||||
ansicolor=jenkins_jobs.modules.wrappers:ansicolor
|
ansicolor=jenkins_jobs.modules.wrappers:ansicolor
|
||||||
|
artifactory-generic=jenkins_jobs.modules.wrappers:artifactory_generic
|
||||||
|
artifactory-maven=jenkins_jobs.modules.wrappers:artifactory_maven
|
||||||
|
artifactory-maven-freestyle=jenkins_jobs.modules.wrappers:artifactory_maven_freestyle
|
||||||
build-name=jenkins_jobs.modules.wrappers:build_name
|
build-name=jenkins_jobs.modules.wrappers:build_name
|
||||||
build-user-vars=jenkins_jobs.modules.wrappers:build_user_vars
|
build-user-vars=jenkins_jobs.modules.wrappers:build_user_vars
|
||||||
ci-skip=jenkins_jobs.modules.wrappers:ci_skip
|
ci-skip=jenkins_jobs.modules.wrappers:ci_skip
|
||||||
|
49
tests/publishers/fixtures/artifactory01.xml
Normal file
49
tests/publishers/fixtures/artifactory01.xml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<publishers>
|
||||||
|
<org.jfrog.hudson.ArtifactoryRedeployPublisher>
|
||||||
|
<scopes/>
|
||||||
|
<violationRecipients/>
|
||||||
|
<blackDuckAppName/>
|
||||||
|
<blackDuckAppVersion/>
|
||||||
|
<blackDuckReportRecipients/>
|
||||||
|
<blackDuckScopes/>
|
||||||
|
<deployArtifacts>true</deployArtifacts>
|
||||||
|
<discardOldBuilds>false</discardOldBuilds>
|
||||||
|
<discardBuildArtifacts>false</discardBuildArtifacts>
|
||||||
|
<deployBuildInfo>false</deployBuildInfo>
|
||||||
|
<includeEnvVars>false</includeEnvVars>
|
||||||
|
<runChecks>false</runChecks>
|
||||||
|
<includePublishArtifacts>false</includePublishArtifacts>
|
||||||
|
<licenseAutoDiscovery>true</licenseAutoDiscovery>
|
||||||
|
<enableIssueTrackerIntegration>false</enableIssueTrackerIntegration>
|
||||||
|
<aggregateBuildIssues>false</aggregateBuildIssues>
|
||||||
|
<blackDuckRunChecks>false</blackDuckRunChecks>
|
||||||
|
<blackDuckIncludePublishedArtifacts>false</blackDuckIncludePublishedArtifacts>
|
||||||
|
<autoCreateMissingComponentRequests>true</autoCreateMissingComponentRequests>
|
||||||
|
<autoDiscardStaleComponentRequests>true</autoDiscardStaleComponentRequests>
|
||||||
|
<filterExcludedArtifactsFromBuild>false</filterExcludedArtifactsFromBuild>
|
||||||
|
<evenIfUnstable>false</evenIfUnstable>
|
||||||
|
<passIdentifiedDownstream>false</passIdentifiedDownstream>
|
||||||
|
<allowPromotionOfNonStagedBuilds>false</allowPromotionOfNonStagedBuilds>
|
||||||
|
<matrixParams/>
|
||||||
|
<details>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<repositoryKey>libs-release-local</repositoryKey>
|
||||||
|
<snapshotsRepositoryKey>libs-snapshot-local</snapshotsRepositoryKey>
|
||||||
|
<stagingPlugin>
|
||||||
|
<pluginName>None</pluginName>
|
||||||
|
</stagingPlugin>
|
||||||
|
</details>
|
||||||
|
<artifactDeploymentPatterns>
|
||||||
|
<includePatterns/>
|
||||||
|
<excludePatterns/>
|
||||||
|
</artifactDeploymentPatterns>
|
||||||
|
<envVarsPatterns>
|
||||||
|
<includePatterns/>
|
||||||
|
<excludePatterns/>
|
||||||
|
</envVarsPatterns>
|
||||||
|
</org.jfrog.hudson.ArtifactoryRedeployPublisher>
|
||||||
|
</publishers>
|
||||||
|
</project>
|
6
tests/publishers/fixtures/artifactory01.yaml
Normal file
6
tests/publishers/fixtures/artifactory01.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
publishers:
|
||||||
|
- artifactory:
|
||||||
|
url: http://artifactory.example.net/artifactory
|
||||||
|
name: 'test'
|
||||||
|
release-repo-key: libs-release-local
|
||||||
|
snapshot-repo-key: libs-snapshot-local
|
49
tests/publishers/fixtures/artifactory02.xml
Normal file
49
tests/publishers/fixtures/artifactory02.xml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<publishers>
|
||||||
|
<org.jfrog.hudson.ArtifactoryRedeployPublisher>
|
||||||
|
<scopes/>
|
||||||
|
<violationRecipients>myfake@email.com</violationRecipients>
|
||||||
|
<blackDuckAppName>myapp</blackDuckAppName>
|
||||||
|
<blackDuckAppVersion>1.0</blackDuckAppVersion>
|
||||||
|
<blackDuckReportRecipients>myfake@email.com</blackDuckReportRecipients>
|
||||||
|
<blackDuckScopes/>
|
||||||
|
<deployArtifacts>true</deployArtifacts>
|
||||||
|
<discardOldBuilds>true</discardOldBuilds>
|
||||||
|
<discardBuildArtifacts>true</discardBuildArtifacts>
|
||||||
|
<deployBuildInfo>true</deployBuildInfo>
|
||||||
|
<includeEnvVars>true</includeEnvVars>
|
||||||
|
<runChecks>true</runChecks>
|
||||||
|
<includePublishArtifacts>true</includePublishArtifacts>
|
||||||
|
<licenseAutoDiscovery>true</licenseAutoDiscovery>
|
||||||
|
<enableIssueTrackerIntegration>false</enableIssueTrackerIntegration>
|
||||||
|
<aggregateBuildIssues>true</aggregateBuildIssues>
|
||||||
|
<blackDuckRunChecks>true</blackDuckRunChecks>
|
||||||
|
<blackDuckIncludePublishedArtifacts>true</blackDuckIncludePublishedArtifacts>
|
||||||
|
<autoCreateMissingComponentRequests>false</autoCreateMissingComponentRequests>
|
||||||
|
<autoDiscardStaleComponentRequests>false</autoDiscardStaleComponentRequests>
|
||||||
|
<filterExcludedArtifactsFromBuild>true</filterExcludedArtifactsFromBuild>
|
||||||
|
<evenIfUnstable>true</evenIfUnstable>
|
||||||
|
<passIdentifiedDownstream>true</passIdentifiedDownstream>
|
||||||
|
<allowPromotionOfNonStagedBuilds>true</allowPromotionOfNonStagedBuilds>
|
||||||
|
<matrixParams/>
|
||||||
|
<details>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<repositoryKey>libs-release-local</repositoryKey>
|
||||||
|
<snapshotsRepositoryKey>libs-snapshot-local</snapshotsRepositoryKey>
|
||||||
|
<stagingPlugin>
|
||||||
|
<pluginName>None</pluginName>
|
||||||
|
</stagingPlugin>
|
||||||
|
</details>
|
||||||
|
<artifactDeploymentPatterns>
|
||||||
|
<includePatterns/>
|
||||||
|
<excludePatterns/>
|
||||||
|
</artifactDeploymentPatterns>
|
||||||
|
<envVarsPatterns>
|
||||||
|
<includePatterns/>
|
||||||
|
<excludePatterns/>
|
||||||
|
</envVarsPatterns>
|
||||||
|
</org.jfrog.hudson.ArtifactoryRedeployPublisher>
|
||||||
|
</publishers>
|
||||||
|
</project>
|
34
tests/publishers/fixtures/artifactory02.yaml
Normal file
34
tests/publishers/fixtures/artifactory02.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
publishers:
|
||||||
|
- artifactory:
|
||||||
|
url: http://artifactory.example.net/artifactory
|
||||||
|
name: 'test'
|
||||||
|
release-repo-key: libs-release-local
|
||||||
|
snapshot-repo-key: libs-snapshot-local
|
||||||
|
publish-build-info: true
|
||||||
|
discard-old-builds: true
|
||||||
|
discard-build-artifacts: true
|
||||||
|
even-if-unstable: true
|
||||||
|
run-checks: true
|
||||||
|
include-publish-artifacts: true
|
||||||
|
pass-identified-downstream: true
|
||||||
|
license-auto-discovery: true
|
||||||
|
aggregate-build-issues: true
|
||||||
|
allow-promotion-of-non-staged-builds: true
|
||||||
|
filter-excluded-artifacts-from-build: true
|
||||||
|
violation-recipients: myfake@email.com
|
||||||
|
matrix-params: []
|
||||||
|
black-duck-app-name: myapp
|
||||||
|
black-duck-app-version: '1.0'
|
||||||
|
black-duck-report-recipients: myfake@email.com
|
||||||
|
black-duck-scopes: []
|
||||||
|
black-duck-run-checks: true
|
||||||
|
black-duck-include-published-artifacts: true
|
||||||
|
auto-create-missing-component-requests: false
|
||||||
|
auto-discard-stale-component-requests: false
|
||||||
|
deploy-artifacts: true
|
||||||
|
deployment-include-patterns: []
|
||||||
|
deployment-exclude-patterns: []
|
||||||
|
env-vars-include: true
|
||||||
|
env-vars-include-patterns: []
|
||||||
|
env-vars-exclude-patterns: []
|
||||||
|
|
12
tests/wrappers/fixtures/artifactory001.xml
Normal file
12
tests/wrappers/fixtures/artifactory001.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<buildWrappers>
|
||||||
|
<org.jfrog.hudson.maven3.ArtifactoryMaven3NativeConfigurator>
|
||||||
|
<details>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<downloadRepositoryKey>repo</downloadRepositoryKey>
|
||||||
|
</details>
|
||||||
|
</org.jfrog.hudson.maven3.ArtifactoryMaven3NativeConfigurator>
|
||||||
|
</buildWrappers>
|
||||||
|
</project>
|
5
tests/wrappers/fixtures/artifactory001.yaml
Normal file
5
tests/wrappers/fixtures/artifactory001.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
wrappers:
|
||||||
|
- artifactory-maven:
|
||||||
|
url: http://artifactory.example.net/artifactory
|
||||||
|
name: 'test'
|
||||||
|
repo-key: repo
|
24
tests/wrappers/fixtures/artifactory002.xml
Normal file
24
tests/wrappers/fixtures/artifactory002.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<buildWrappers>
|
||||||
|
<org.jfrog.hudson.generic.ArtifactoryGenericConfigurator>
|
||||||
|
<details>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<repositoryKey>release-repo</repositoryKey>
|
||||||
|
<snapshotsRepositoryKey>snapshot-repo</snapshotsRepositoryKey>
|
||||||
|
</details>
|
||||||
|
<deployPattern>*.zip=>results</deployPattern>
|
||||||
|
<resolvePattern>libs-release-local:prod/*=>prod-jars</resolvePattern>
|
||||||
|
<matrixParams>custom_prop=${PROJECT_ENV_VAR}</matrixParams>
|
||||||
|
<deployBuildInfo>true</deployBuildInfo>
|
||||||
|
<includeEnvVars>true</includeEnvVars>
|
||||||
|
<discardOldBuilds>true</discardOldBuilds>
|
||||||
|
<discardBuildArtifacts>true</discardBuildArtifacts>
|
||||||
|
<envVarsPatterns>
|
||||||
|
<includePatterns>PROJECT_*,ORG_*</includePatterns>
|
||||||
|
<excludePatterns/>
|
||||||
|
</envVarsPatterns>
|
||||||
|
</org.jfrog.hudson.generic.ArtifactoryGenericConfigurator>
|
||||||
|
</buildWrappers>
|
||||||
|
</project>
|
19
tests/wrappers/fixtures/artifactory002.yaml
Normal file
19
tests/wrappers/fixtures/artifactory002.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
wrappers:
|
||||||
|
- artifactory-generic:
|
||||||
|
url: http://artifactory.example.net/artifactory
|
||||||
|
name: 'test'
|
||||||
|
deploy-build-info: true
|
||||||
|
repo-key: 'release-repo'
|
||||||
|
snapshot-repo-key: 'snapshot-repo'
|
||||||
|
deploy-pattern:
|
||||||
|
- '*.zip=>results'
|
||||||
|
resolve-pattern:
|
||||||
|
- 'libs-release-local:prod/*=>prod-jars'
|
||||||
|
matrix-params:
|
||||||
|
- 'custom_prop=${PROJECT_ENV_VAR}'
|
||||||
|
env-vars-include: true
|
||||||
|
env-vars-include-patterns:
|
||||||
|
- 'PROJECT_*'
|
||||||
|
- 'ORG_*'
|
||||||
|
discard-old-builds: true
|
||||||
|
discard-build-artifacts: true
|
70
tests/wrappers/fixtures/artifactory003.xml
Normal file
70
tests/wrappers/fixtures/artifactory003.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<buildWrappers>
|
||||||
|
<org.jfrog.hudson.maven3.ArtifactoryMaven3Configurator>
|
||||||
|
<details>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<deployReleaseRepository>
|
||||||
|
<keyFromText/>
|
||||||
|
<keyFromSelect/>
|
||||||
|
<dynamicMode>false</dynamicMode>
|
||||||
|
</deployReleaseRepository>
|
||||||
|
<deploySnapshotRepository>
|
||||||
|
<keyFromText/>
|
||||||
|
<keyFromSelect/>
|
||||||
|
<dynamicMode>false</dynamicMode>
|
||||||
|
</deploySnapshotRepository>
|
||||||
|
<stagingPlugin/>
|
||||||
|
</details>
|
||||||
|
<resolverDetails>
|
||||||
|
<artifactoryName>test</artifactoryName>
|
||||||
|
<artifactoryUrl>http://artifactory.example.net/artifactory</artifactoryUrl>
|
||||||
|
<resolveSnapshotRepository>
|
||||||
|
<keyFromText/>
|
||||||
|
<keyFromSelect/>
|
||||||
|
<dynamicMode>false</dynamicMode>
|
||||||
|
</resolveSnapshotRepository>
|
||||||
|
<resolveReleaseRepository>
|
||||||
|
<keyFromText/>
|
||||||
|
<keyFromSelect/>
|
||||||
|
<dynamicMode>false</dynamicMode>
|
||||||
|
</resolveReleaseRepository>
|
||||||
|
<stagingPlugin/>
|
||||||
|
</resolverDetails>
|
||||||
|
<artifactDeploymentPatterns>
|
||||||
|
<includePatterns>*.zip=>results</includePatterns>
|
||||||
|
<excludePatterns/>
|
||||||
|
</artifactDeploymentPatterns>
|
||||||
|
<envVarsPatterns>
|
||||||
|
<includePatterns>PROJECT_*,ORG_*</includePatterns>
|
||||||
|
<excludePatterns/>
|
||||||
|
</envVarsPatterns>
|
||||||
|
<matrixParams>custom_prop=${PROJECT_ENV_VAR}</matrixParams>
|
||||||
|
<scopes/>
|
||||||
|
<violationRecipients/>
|
||||||
|
<blackDuckAppName/>
|
||||||
|
<blackDuckAppVersion/>
|
||||||
|
<blackDuckReportRecipients/>
|
||||||
|
<blackDuckScopes/>
|
||||||
|
<deployArtifacts>true</deployArtifacts>
|
||||||
|
<discardOldBuilds>false</discardOldBuilds>
|
||||||
|
<discardBuildArtifacts>false</discardBuildArtifacts>
|
||||||
|
<deployBuildInfo>false</deployBuildInfo>
|
||||||
|
<includeEnvVars>true</includeEnvVars>
|
||||||
|
<runChecks>false</runChecks>
|
||||||
|
<includePublishArtifacts>false</includePublishArtifacts>
|
||||||
|
<licenseAutoDiscovery>true</licenseAutoDiscovery>
|
||||||
|
<enableIssueTrackerIntegration>false</enableIssueTrackerIntegration>
|
||||||
|
<aggregateBuildIssues>false</aggregateBuildIssues>
|
||||||
|
<blackDuckRunChecks>false</blackDuckRunChecks>
|
||||||
|
<blackDuckIncludePublishedArtifacts>false</blackDuckIncludePublishedArtifacts>
|
||||||
|
<autoCreateMissingComponentRequests>true</autoCreateMissingComponentRequests>
|
||||||
|
<autoDiscardStaleComponentRequests>true</autoDiscardStaleComponentRequests>
|
||||||
|
<filterExcludedArtifactsFromBuild>false</filterExcludedArtifactsFromBuild>
|
||||||
|
<enableResolveArtifacts>false</enableResolveArtifacts>
|
||||||
|
<disableLicenseAutoDiscovery>false</disableLicenseAutoDiscovery>
|
||||||
|
<recordAllDependencies>false</recordAllDependencies>
|
||||||
|
</org.jfrog.hudson.maven3.ArtifactoryMaven3Configurator>
|
||||||
|
</buildWrappers>
|
||||||
|
</project>
|
14
tests/wrappers/fixtures/artifactory003.yaml
Normal file
14
tests/wrappers/fixtures/artifactory003.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
wrappers:
|
||||||
|
- artifactory-maven-freestyle:
|
||||||
|
url: http://artifactory.example.net/artifactory
|
||||||
|
name: 'test'
|
||||||
|
repo-key: repo
|
||||||
|
matrix-params:
|
||||||
|
- 'custom_prop=${PROJECT_ENV_VAR}'
|
||||||
|
deployment-include-patterns:
|
||||||
|
- '*.zip=>results'
|
||||||
|
env-vars-include: true
|
||||||
|
env-vars-include-patterns:
|
||||||
|
- 'PROJECT_*'
|
||||||
|
- 'ORG_*'
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user