Sha256: e6df29e4529d3681d3749dad147a65b6fce1f1b319d14d1e69e86aadceaa5557
Contents?: true
Size: 1.23 KB
Versions: 4
Compression:
Stored size: 1.23 KB
Contents
class Indocker::CrontabRedeployRulesBuilder CRONTAB = <<-CRONTAB SHELL=/bin/bash PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin %{rules} CRONTAB LOG_FILE = "/var/log/indocker-redeploy-%{env}.log" COMMAND = "export TERM=xterm;%{deploy_dir}/indocker/bin/deploy -C %{env} -f -B -y -c %{container_name}" REDEPLOY_RULE = %Q{%{schedule} echo `date` "- %{command}..." >> %{log_file}; %{command} 1>/dev/null 2>>%{log_file}; echo `date` "- done, exitcode = $?" >> %{log_file}} def initialize(configuration:, logger:) @configuration = configuration @logger = logger end def call(containers) CRONTAB % { rules: containers.map{ |c| redeploy_rule(c) }.join("\n"), } end private def self.env Indocker.configuration_name end def env self.class.env end def log_file LOG_FILE % { env: env, } end def command(container) COMMAND % { env: env, container_name: container.name, deploy_dir: Indocker.deploy_dir } end def redeploy_rule(container) REDEPLOY_RULE % { schedule: container.redeploy_schedule, command: command(container), log_file: log_file, } end end
Version data entries
4 entries across 4 versions & 1 rubygems