fly
Interact with Concourse CI pipelines
TLDR
Authenticate with and save concourse target
List targets
List pipelines
Upload or update a pipeline
Unpause pipeline
Show pipeline configuration
Update local copy of fly
Destroy pipeline
SYNOPSIS
fly [GLOBAL OPTIONS] COMMAND [COMMAND OPTIONS] [ARGUMENTS]
PARAMETERS
--target, -t TARGET_NAME
Specifies the Concourse target (alias) to interact with. This is usually set via fly login.
--insecure, -k
Skips SSL certificate verification for the Concourse server. Use with caution in production environments.
--version, -v
Prints the fly CLI version and exits.
login [ALIAS]
Authenticates fly with a Concourse server, creating or updating a target alias. This is typically the first command executed.
set-pipeline
A command used for creating or updating a pipeline on a Concourse server.
--pipeline, -p PIPELINE_NAME (with set-pipeline)
Name of the pipeline to set or update. Used with the set-pipeline command.
--config, -c PATH_TO_CONFIG (with set-pipeline)
Path to the YAML file containing the pipeline definition to upload. Used with the set-pipeline command.
trigger-build
A command used for manually triggering a job within a pipeline.
--job, -j PIPELINE/JOB (with trigger-build)
Specifies the job within the pipeline to trigger, e.g., my-pipeline/my-job. Used with the trigger-build command.
watch BUILD_ID
Streams logs of a specific build to the console, useful for real-time monitoring and debugging.
DESCRIPTION
fly is the command-line interface (CLI) for Concourse CI, an open-source automation server designed for continuous integration and delivery. It serves as the primary tool for users to interact with a Concourse server instance, enabling comprehensive management of CI/CD pipelines, builds, and resources.
With fly, users can authenticate to various Concourse targets, define and update pipelines from YAML configuration files, trigger and monitor builds, and inspect the status of jobs and resources. It provides essential functionalities for both developers and operators, facilitating tasks such as managing teams and users, viewing build logs, pausing or unpausing pipelines, and debugging pipeline issues.
The design philosophy of Concourse CI emphasizes "pipelines as code," and fly is instrumental in translating this philosophy into practice by allowing declarative pipeline definitions to be pushed to the server. Its extensive set of commands makes it an indispensable component for anyone utilizing or administering a Concourse CI environment.
CAVEATS
fly is a client for Concourse CI; it requires a running Concourse server instance to be functional.
Authentication via fly login is typically the first step before executing most commands.
The behavior and available commands can be specific to the version of Concourse CI being used, so ensuring client and server compatibility is important.
TARGETS MANAGEMENT
fly manages different Concourse CI server connections through named "targets." A target encapsulates the server URL and authentication tokens, allowing users to switch easily between development, staging, and production Concourse environments using the -t global option.
PIPELINES AS CODE
fly primarily works with YAML files to define pipelines. Commands like set-pipeline upload these declarative configurations to the Concourse CI server, enabling version control and collaborative review of CI/CD logic alongside application code.
HISTORY
fly was developed as an integral part of the Concourse CI project, which began development around 2014-2015, primarily by engineers at Pivotal (now part of VMware Tanzu).
Its evolution has mirrored that of Concourse itself, focusing on a declarative, "pipelines as code" approach to CI/CD.
Initially designed to work seamlessly with Concourse's unique resource and task model, fly has seen continuous improvements in its command set, robustness, and user experience, adapting to the growing demands of modern software delivery pipelines.