Sha256: 50b7e054618ac0d0a58a9827541fa47c2bfa3ccd4f67f83f7644ef48a2c6e7f1
Contents?: true
Size: 1.24 KB
Versions: 12
Compression:
Stored size: 1.24 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
12 entries across 12 versions & 1 rubygems