concourse.ci resource for persisting build artifacts on a shared storage location with rsync and ssh.
##Config
server
: Required Server on which to persist artifactsbase_dir
: Required Base directory in which to place the artifactsuser
: Required User credential for login using sshprivate_key
: Required Key for the specified user
All config required for each of the in
, out
and check
behaviors.
###Example
resource_types:
- name: rsync-resource
type: docker-image
source:
repository: mrsixw/concourse-rsync-resource
tag: latest
resources:
- name: sync-resource
type: rsync-resource
source:
server: server
base_dir: /sync_directory
user : user
private_key: |
...
jobs:
-name: my_great_job
plan:
...
put: sync-resource
params: {"sync_dir" : "my_output_dir" }
##Behavior
The base_dir
is searched for any new artifacts being stored
Given a version
check for its existence and rsync back the artifacts for the
version.
Generate a new version
number an associated directory in base_dir
on server
using the specified user credential. Rsync across artifacts from the input directory to the server storage location and output the version
sync_dir
: Optional. Directory to be sync'd. If specified limit the directory to be sync'd to sync_dir. If not specified everything in theput
will be sent (which could include container resources, whole build trees etc.)