Deploys and retrieves artifacts from a JFrog Artifactory server for a Concourse pipeline.
10M+
This is a fork from pivotalservices/artifactory-resource to improve support of repository layouts.
Right now, the focus is on maven2 repository layout. Support has been added for check and in.
Artifactory Pro licence may be required.
Deploys and retrieves artifacts from a JFrog Artifactory server for a Concourse pipeline.
To define an Artifactory resource for a Concourse pipeline:
resource_types:
- name: artifactory
type: docker-image
source:
repository: pivotalservices/artifactory-resource
resources:
- name: file-repository
type: artifactory
source:
endpoint: http://ARTIFACTORY-HOST-NAME-GOES-HERE:8081/artifactory
repository: "/repository-name/sub-folder"
regex: "myapp-(?<version>.*).txt"
username: YOUR-ARTIFACTORY-USERNAME
password: YOUR-ARTIFACTORY-PASSWORD
skip_ssl_verification: true
endpoint: Required. The Artifactory REST API endpoint. eg. http://YOUR-HOST_NAME:8081/artifactory.repository: Required. The Artifactory repository which includes any folder path, must contain a leading '/'. eg. /generic/product/pcfregex: Required. Regular expression used to extract artifact version, must contain 'version' group. E.g. myapp-(?<version>.*).tar.gzusername: Optional. Username for HTTP(S) auth when accessing an authenticated repositorypassword: Optional. Password for HTTP(S) auth when accessing an authenticated repositoryskip_ssl_verification: Optional. Skip ssl verification when connecting to Artifactory's APIs. Values: true or false(default).file: Required for put The file to upload to Artifactoryregex: Optional overrides the source regexfolder: Optional. appended to the repository in source - must start with forward slash /Saving/deploying an artifact to Artifactory in a pipeline job:
jobs:
- name: build-and-save-to-artifactory
plan:
- task: build-a-file
config:
platform: linux
image_resource:
type: docker-image
source:
repository: ubuntu
outputs:
- name: build
run:
path: sh
args:
- -exc
- |
export DATESTRING=$(date +"%Y%m%d")
echo "This is my file" > ./build/myapp-$(date +"%Y%m%d%H%S").txt
find .
- put: file-repository
params: { file: ./build/myapp-*.txt }
Retrieving an artifact from Artifactory in a pipeline job:
jobs:
- name: trigger-when-new-file-is-added-to-artifactory
plan:
- get: file-repository
trigger: true
- task: use-new-file
config:
platform: linux
image_resource:
type: docker-image
source:
repository: ubuntu
inputs:
- name: file-repository
run:
path: echo
args:
- "Use file(s) from ./file-repository here..."
See pipeline.yml for an example of a full pipeline definition file.
check: ...Relies on the regex to retrieve artifact versions
in: ...Same as check, but retrieves the artifact based on the provided version
out: Deploy to a repository.Deploys the artifact.
file: Required. The path to the artifact to deploy.This resource was originally based on the artifactory resource work of mborges.
Content type
Image
Digest
Size
7.9 MB
Last updated
about 9 years ago
docker pull fujitsudas/artifactory-resource