A Concourse resource for executing fly
and fetching its output. Based on https://github.com/troykinsella/concourse-fly-resource.
resource_types:
- name: fly-restype
type: docker-image
source:
repository: mtk7801/concourse-fly-resource
tag: 0.5
Currently only HTTP basic authentication is supported.
url
: Optional. The base URL of the concourse instance to contact (https://ci.concourse-ci.org). Default: The value of the$ATC_EXTERNAL_URL
metadata variable.username
: Required. The concourse basic auth username.password
: Required. The concourse basic auth password.target
: Optional. The name of the target concourse instance. Default: "main".team
: Optional. The concourse team to login to. Default: The value of the$BUILD_TEAM_NAME
metadata variable.insecure
: Optional. Set totrue
to skip TLS verification.debug
: Optional. Set totrue
to print commands (such asfly login
andfly sync
) for troubleshooting, including credentials. Default:false
.secure_output
: Optional. Set tofalse
to show potentially insecure options and echoed fly commands. Default:true
.multiline_lines
: Optional. Set totrue
to interpret\
as one line (mostly for big options line).
resources:
- name: fly-res
type: fly-restype
source:
url: {{concourse_url}}
username: ((concourse_username))
password: ((concourse_password))
team: dev-team
Execute the given fly
command along with given options. The fly
client is downloaded from the target
Concourse instance if not already present. If there is a version mismatch between fly
and Concourse,
a fly sync
is performed.
When multiple lines are present in the provided options, fly
is executed separately for each line.
Output from the fly
execution(s) is appended to fly_output.txt
options
: Optional. The options to pass tofly
.options_file
: Optional. A file containing options to pass tofly
.
Parameters are passed through to the fly
command as follows:
fly -t <target> <options>
Concourse metadata variables are supported in options.
jobs:
- name: print-pipelines-info
plan:
- put: fly-res
get_params:
options: pipelines --json
- task: print-pipelines-info-as-json
config:
platform: linux
image_resource:
type: docker-image
source: { repository: busybox }
inputs:
- name: fly-res
run:
path: /bin/sh
args:
- -c
- |-
cat fly-res/fly_output.txt