A concourse.ci resource for persisting build artifacts on a shared storage location
1.0K
concourse.ci resource for persisting build artifacts on a shared storage location with rsync and ssh.
##Config
server|servers: Required Server or list of servers on which to persist artifacts. If servers are used first one in the list will be used for in and check origins.port: Optional Server SSH port, default is port 22base_dir: Required Base directory in which to place the artifactsuser: Required User credential for login using sshprivate_key: Required Key for the specified userdisable_version_path: default is false. Then false out will put content in a directory named by the version name. This directory is omitted when this option is enabled. Note that check and in origins will treat all the files in the base_dir as versions in this case.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: |
...
- name: sync-resource-multiple
type: rsync-resource
source:
servers:
- server1
- server2
base_dir: /sync_directory
user : user
disable_version_path: false
private_key: |
...
jobs:
-name: my_great_job
plan:
...
put: sync-resource
params: {"sync_dir" : "my_output_dir" }
put: sync-resource
params: {
"sync_dir" : "my_output_dir",
"rsync_opts": ["-Pav", "--del", "--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r"]
}
##Behavior
check : Check for new versions of artifactsThe base_dir is searched for any new artifacts being stored
in : retrieve a given artifacts from serverGiven a version check for its existence and rsync back the artifacts for the
version.
out : place a new artifact on serverGenerate 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 the put will be sent (which could include container resources, whole build trees etc.)Content type
Image
Digest
Size
7.1 MB
Last updated
almost 10 years ago
docker pull ppaulweber/concourse-rsync-resource