An Ansible role to install the Buildkite Agent.
buildkite_agent_allow_service_startup
- if false, this role will not attempt to re|start the buildkite-agent service. This is useful if you use alternative means to provision the registration token.buildkite_agent_conf_dir
- Buildkite Agent configuration directory (default: /etc/buildkite-agent
)buildkite_agent_count
- Number of agents if you want to run multiple per host.buildkite_agent_debug
- Flag to enable Buildkite Agent debugging.buildkite_agent_executable
- The location of the buildkite-agent executable, or a shim/wrapper you wish to use. Defaults to the default platform-specifc installation location.buildkite_agent_should_install_binary[ansible_os_family]
- When yes
, use the platform-specific installation method to install the binary. When no
, don't. Useful if you prefer to install the binary via other means.buildkite_agent_start_parameters
- Command line flags to pass to the buildkite-agent start
command to start the agent.buildkite_agent_start_command
- Arguments passed verbatim to the buildkite_agent_executable
at startup. Wraps buildkite_agent_start_parameters
by default - if using a shim or script for buildkite_agent_executable
, override this instead of buildkite_agent_start_parameters
.buildkite_agent_token
- Buildkite agent registration token. Available from https://buildkite.com/organizations/{org-slug}/agents
.buildkite_agent_name
- Name for the Buildkite agent(s).buildkite_agent_builds_dir
- Path to where agent will perform builds.
c:/b
because long filenames still cause problems in the 21st Century.buildkite_agent_hooks_dir
- Path to where agent will look for hooks.buildkite_agent_plugins_dir
- Path to where agent will look for plugins.buildkite_agent_logs_dir
- Path to write agent logs - if unset, logs are printed to stdout/stderr.
Variable names below map to the agent configuration documentation, with the same defaults, except where otherwise stated.
buildkite_agent_bootstrap_script
buildkite_agent_git_clean_flags
buildkite_agent_git_clone_flags
buildkite_agent_no_color
buildkite_agent_no_command_eval
buildkite_agent_no_plugins
buildkite_agent_no_pty
buildkite_agent_no_ssh_keyscan
buildkite_agent_priority
buildkite_agent_queue
- Override the agent queue (default: default
)buildkite_agent_tags_from_ec2_tags
buildkite_agent_tags_from_ec2
buildkite_agent_tags_from_gcp
buildkite_agent_tags_from_gcp_labels
buildkite_agent_tags_from_host
buildkite_agent_tags
- List of tags for agent; Don't use this to set queue
, as that is handled via buildkite_agent_queue
(default: []
)buildkite_agent_tags_including_queue
- List of tags for the agent that include queue
. (default: queue={{ buildkite_agent_queue}},{{ buildkite_agent_tags }}
)buildkite_agent_username
- the username to run the buildkite-agent
process/service as.buildkite_agent_user_uid
- the user ID to make the user be, if specified.
buildkite_agent_user_description
- the description of the user to run the buildkite-agent
process/service as.buildkite_agent_allow_latest
- whether to allow the latest version to be installed, or instead use a specified version.
buildkite_agent_version
- the main semantic version number to install, when buildkite_agent_allow_latest
is False
.buildkite_agent_build_number
- the build number (ubuntu package name includes this).buildkite_agent_systemd_override_template
- the template source for the systemd unit override.buildkite_agent_nssm_exe
- the full path to nssm.exe in case it's not on PATH
.buildkite_agent_nssm_version
- Which version of NSSM to use to manage the buildkite-agent process as a service.buildkite_agent_windows_grant_admin
- If True
make the buildkite_agent_username
user be a member of the local Administrators
group. You must assess your own security risk tradeoff with the necessity for Windows build tools needing privileges.buildkite_agent_homebrew_tap_url
- You could use git@github.com:buildkite/homebrew-buildkite.git
if you clone over ssh because you find that more reliable, but your ansible connection needs an ssh key to authenticate to github then (forwarding your ssh-agent works fine). Omitted otherwise.buildkite_agent_load_bash_profile
- Load $HOME/.bash_profile
with buildkite agent environment hook. Ensures agent will load with bash environment.buildkite_agent_brew_dir
- Specify where brew
is installed, brew
uses different defaults for Intel vs. ARM processors.buildkite_agent_hide_secrets
- if false
, show secrets in the ansible log output. Normally they are suppressed via no_log
.See the examples directory.
# Get set up - one time. Read it first.
workflow/onboarding.sh
# Run what CI would.
workflow/ci.sh