Module: Shipitron

Defined in:
lib/shipitron/client/ensure_deploy_not_running.rb,
lib/shipitron.rb,
lib/shipitron/cli.rb,
lib/shipitron/smash.rb,
lib/shipitron/client.rb,
lib/shipitron/logger.rb,
lib/shipitron/s3_copy.rb,
lib/shipitron/version.rb,
lib/shipitron/git_info.rb,
lib/shipitron/ecs_client.rb,
lib/shipitron/post_build.rb,
lib/shipitron/consul_keys.rb,
lib/shipitron/consul_lock.rb,
lib/shipitron/docker_image.rb,
lib/shipitron/ecs_task_def.rb,
lib/shipitron/fetch_bucket.rb,
lib/shipitron/parse_templates.rb,
lib/shipitron/client/force_deploy.rb,
lib/shipitron/server/fetch_deploy.rb,
lib/shipitron/client/run_ecs_tasks.rb,
lib/shipitron/mustache_yaml_parser.rb,
lib/shipitron/server/git/configure.rb,
lib/shipitron/server/git/pull_repo.rb,
lib/shipitron/client/fetch_clusters.rb,
lib/shipitron/client/load_templates.rb,
lib/shipitron/server/run_post_build.rb,
lib/shipitron/client/generate_deploy.rb,
lib/shipitron/find_docker_volume_name.rb,
lib/shipitron/server/docker/configure.rb,
lib/shipitron/server/git/update_cache.rb,
lib/shipitron/server/git/upload_cache.rb,
lib/shipitron/server/docker/push_image.rb,
lib/shipitron/server/update_deploy_ref.rb,
lib/shipitron/client/deploy_application.rb,
lib/shipitron/server/deploy_application.rb,
lib/shipitron/server/docker/build_image.rb,
lib/shipitron/server/git/download_cache.rb,
lib/shipitron/server/transform_cli_args.rb,
lib/shipitron/server/upload_build_cache.rb,
lib/shipitron/client/create_ecs_services.rb,
lib/shipitron/server/update_ecs_services.rb,
lib/shipitron/server/download_build_cache.rb,
lib/shipitron/server/git/clone_local_copy.rb,
lib/shipitron/client/bootstrap_application.rb,
lib/shipitron/client/load_application_config.rb,
lib/shipitron/server/docker/run_build_script.rb,
lib/shipitron/server/update_ecs_task_definitions.rb,
lib/shipitron/client/register_ecs_task_definitions.rb,
lib/shipitron/server/ecs_task_defs/update_in_place.rb,
lib/shipitron/server/ecs_task_defs/update_from_params.rb,
lib/shipitron/server/ecs_task_defs/map_parsed_templates.rb

Overview

Note: This is a best effort client side check to make sure there isn’t a deploy running. The server side check has more guarantees.

Defined Under Namespace

Modules: Client, ConsulKeys, ConsulLock, EcsClient, Server Classes: CLI, DockerImage, EcsTaskDef, FetchBucket, FindDockerVolumeName, GitInfo, Logger, MustacheYamlParser, PostBuild, S3Copy, Smash

Constant Summary collapse

CONFIG_FILE =
'shipitron/config.yml'.freeze
SECRETS_FILE =
'~/.config/shipitron/secrets.yml'.freeze
GLOBAL_CONFIG_FILE =
'~/.config/shipitron/config.yml'.freeze
DEPLOY_BUCKET_PREFIX =
"deploys/"
VERSION =
'1.4.0'

Class Method Summary collapse

Class Method Details

.configObject



22
23
24
25
26
27
# File 'lib/shipitron.rb', line 22

def config
  @config ||= Smash.load(Pathname.new(config_file).expand_path.to_s).merge(secrets).merge(global_config)
rescue ArgumentError
  Logger.warn "Config file '#{config_file}' does not exist"
  @config = secrets.merge(global_config)
end

.config_fileObject



14
15
16
# File 'lib/shipitron.rb', line 14

def config_file
  @config_file ||= CONFIG_FILE
end

.config_file=(file) ⇒ Object



18
19
20
# File 'lib/shipitron.rb', line 18

def config_file=(file)
  @config_file = file
end

.global_configObject



52
53
54
55
56
57
# File 'lib/shipitron.rb', line 52

def global_config
  @global_config ||= Smash.load(Pathname.new(global_config_file).expand_path.to_s)
rescue ArgumentError
  Logger.warn "Global config file '#{global_config_file}' does not exist"
  @global_config = Smash.new
end

.global_config_fileObject



44
45
46
# File 'lib/shipitron.rb', line 44

def global_config_file
  @global_config_file ||= GLOBAL_CONFIG_FILE
end

.global_config_file=(file) ⇒ Object



48
49
50
# File 'lib/shipitron.rb', line 48

def global_config_file=(file)
  @global_config_file = file
end

.secretsObject



37
38
39
40
41
42
# File 'lib/shipitron.rb', line 37

def secrets
  @secrets ||= Smash.load(Pathname.new(secrets_file).expand_path.to_s)
rescue ArgumentError
  Logger.warn "Secrets file '#{secrets_file}' does not exist"
  @secrets = Smash.new
end

.secrets_fileObject



29
30
31
# File 'lib/shipitron.rb', line 29

def secrets_file
  @secrets_file ||= SECRETS_FILE
end

.secrets_file=(file) ⇒ Object



33
34
35
# File 'lib/shipitron.rb', line 33

def secrets_file=(file)
  @secrets_file = file
end