Class: Pipely::Tasks::Deploy
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Pipely::Tasks::Deploy
- Includes:
- Rake::DSL
- Defined in:
- lib/pipely/tasks/deploy.rb
Instance Attribute Summary collapse
-
#definition ⇒ Object
Pipeline definition instance.
-
#name ⇒ Object
Name of task.
-
#verbose ⇒ Object
Use verbose output.
Instance Method Summary collapse
-
#initialize(*args, &task_block) ⇒ Deploy
constructor
A new instance of Deploy.
- #run_task(verbose) ⇒ Object
- #setup_ivars(args) ⇒ Object
Constructor Details
#initialize(*args, &task_block) ⇒ Deploy
Returns a new instance of Deploy.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/pipely/tasks/deploy.rb', line 26 def initialize(*args, &task_block) setup_ivars(args) desc "Deploy pipeline" unless ::Rake.application.last_comment task name, *args do |_, task_args| RakeFileUtils.send(:verbose, verbose) do if task_block task_block.call(*[self, task_args].slice(0, task_block.arity)) end run_task verbose end end end |
Instance Attribute Details
#definition ⇒ Object
Pipeline definition instance
17 18 19 |
# File 'lib/pipely/tasks/deploy.rb', line 17 def definition @definition end |
#name ⇒ Object
Name of task.
default:
:deploy
14 15 16 |
# File 'lib/pipely/tasks/deploy.rb', line 14 def name @name end |
#verbose ⇒ Object
Use verbose output. If this is set to true, the task will print the local and remote paths of each step file it uploads to S3.
default:
true
24 25 26 |
# File 'lib/pipely/tasks/deploy.rb', line 24 def verbose @verbose end |
Instance Method Details
#run_task(verbose) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/pipely/tasks/deploy.rb', line 47 def run_task(verbose) Rake::Task["upload_steps"].invoke Pipely::Deploy::Client.new.deploy_pipeline( definition.pipeline_name, definition.to_json ) end |
#setup_ivars(args) ⇒ Object
42 43 44 45 |
# File 'lib/pipely/tasks/deploy.rb', line 42 def setup_ivars(args) @name = args.shift || :deploy @verbose = true end |