class Omnibus::Buildkite
Provides methods for fetching Omnibus
project build metadata from Buildkite
@note Requires environment variables provided by Buildkite
Constants
- AMI_ID_ENV_KEY
Constants for the buildkite environment variables
- BUILDKITE_COMMAND_ENV_KEY
- DOCKER_VERSION_ENV_KEY
- HOSTNAME_ENV_KEY
Public Class Methods
The AMI ID of the instance the build is happening on.
@note This is only present when the instance is a Windows or Linux instance.
@note Relies on presence of ENV in Buildkite
build job.
@return [String]
either the AMI ID, or 'unknown'
# File lib/omnibus/build_system_metadata/buildkite.rb, line 44 def ami_id ami_id = "unknown" if !ENV[AMI_ID_ENV_KEY].nil? && !ENV[AMI_ID_ENV_KEY].empty? ami_id = ENV[AMI_ID_ENV_KEY] end ami_id end
The OS Image that is being used in the Docker build
@note Relies on presence of ENV in Buildkite
build job.
@return [String]
String with the parameter that was provided in the `docker build` command
# File lib/omnibus/build_system_metadata/buildkite.rb, line 100 def docker_image buildkite_command = ENV[BUILDKITE_COMMAND_ENV_KEY] if is_docker_build && buildkite_command && buildkite_command.include?("OS_IMAGE") os_image = buildkite_command.match(/OS_IMAGE=(?<image_id>[\S]*)/) os_image[:image_id] end end
The hostname of the instance the build is happening on.
@note This is only present when the instance is a MacOS instance.
@note Relies on presence of ENV in Buildkite
build job.
@return [String]
either the hostname, or 'unknown'
# File lib/omnibus/build_system_metadata/buildkite.rb, line 62 def hostname hostname = "unknown" if !ENV[HOSTNAME_ENV_KEY].nil? && !ENV[HOSTNAME_ENV_KEY].empty? && ami_id == "unknown" hostname = ENV[HOSTNAME_ENV_KEY] end hostname end
A boolean representing if the build is using docker or not.
@note Relies on presence of ENV in Buildkite
build job.
@return [Boolean]
# File lib/omnibus/build_system_metadata/buildkite.rb, line 77 def is_docker_build !ENV[DOCKER_VERSION_ENV_KEY].nil? && !ENV[DOCKER_VERSION_ENV_KEY].empty? ? true : false end
The version of Omnibus
that is in ‘version.rb`
@return [String]
# File lib/omnibus/build_system_metadata/buildkite.rb, line 113 def omnibus_version Omnibus::VERSION end
# File lib/omnibus/build_system_metadata/buildkite.rb, line 117 def to_hash ret = {} ret[:ami_id] = ami_id if ami_id != "unknown" ret[:hostname] = hostname if hostname != "unknown" ret[:is_docker_build] = is_docker_build if is_docker_build ret[:docker_version] = docker_version if docker_version ret[:docker_image] = docker_image if docker_image ret[:omnibus_version] = omnibus_version ret end