Public | Automated Build

Last pushed: 2 years ago
Short Description
Concourse resource to interact with FTP servers.
Full Description

FTP Resource

Concourse resource to interact with FTP servers.

Deploying to Concourse

In your bosh deployment manifest, add to the groundcrew.additional_resource_types with the following:

- image: docker:///aequitas/ftp-resource
  type: ftp

Source Configuration

  • uri: Required. The URI for the FTP server (including path).

  • regex: Required. Regex to match filenames to. Supports capture groups. Requires at least one capture group named version. Other groups are added as metadata.

  • version_key: Optional Alternative key to be used for the version capture group (default version).

  • debug: Optional Set debug logging of scripts, takes boolean (default true).


check: Return list of file versions.

Will request a list of files from the uri and filter on matching regex extracting the version_key and returning list of versions captured groups.

in: Retrieve file matching version from ftp.

Uses the regex to compose a list of files and versions, will return the one file that matches the version provided in params.


  • version: Required The version to return (will be matched against the version regex capture group).

out: Upload file(s) matching file glob to ftp.

Uploads a file(s) glob matching file to the ftp directory specified by uri.

  • file: Glob used to determine files to upload from src dir (default *).

  • keep_versions: If specified determined the amount of files to keep, deleting the old versions (default null). Requires a regex capture group named file to work.


  • file: Required. Glob pattern to specify which files need to be uploaded.

Example pipeline

    - name: upload
      type: ftp
          regex: (?P<file>package_name-(?P<version>[0-9\.]+).*\.whl)

    - name: test ftp
          - task: build
            file: ci/build.yaml

          - put: upload
                file: build/dist/package_name-*.whl
Docker Pull Command
Source Repository