Skip to content resource for persisting build artifacts on a shared storage location with rsync and ssh.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dockerfile Reduced stuff needed in the docker file Jun 23, 2016
LICENSE Fix README errors in MD Jan 1, 2018

concourse-rsync-resource resource for persisting build artifacts on a shared storage location with rsync and ssh.


  • 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 22
  • base_dir: Required Base directory in which to place the artifacts
  • user: Required User credential for login using ssh
  • private_key: Required Key for the specified user
  • disable_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.


- name: rsync-resource
  type: docker-image
      repository: mrsixw/concourse-rsync-resource
      tag: latest

- name: sync-resource
  type: rsync-resource
    server: server
    base_dir: /sync_directory
    user : user
    private_key: |

- name: sync-resource-multiple
  type: rsync-resource
      - server1
      - server2
    base_dir: /sync_directory
    user : user
    disable_version_path: false
    private_key: |

-name: my_great_job
    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"]


check : Check for new versions of artifacts

The base_dir is searched for any new artifacts being stored

in : retrieve a given artifacts from server

Given a version check for its existence and rsync back the artifacts for the version.

out : place a new artifact on server

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 the put will be sent (which could include container resources, whole build trees etc.)
You can’t perform that action at this time.