summaryrefslogtreecommitdiff
path: root/new/lib/crys/deployer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'new/lib/crys/deployer.rb')
-rw-r--r--new/lib/crys/deployer.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/new/lib/crys/deployer.rb b/new/lib/crys/deployer.rb
new file mode 100644
index 00000000..501ea046
--- /dev/null
+++ b/new/lib/crys/deployer.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+require 'rsync'
+
+module Crys
+ class Deployer
+ DEST_PREFIX = '/usr/local/sites/'
+
+ def initialize(dest:, source:)
+ @dest = dest
+ @source = source
+
+ Rsync.configure do |config|
+ config.host = 'mms@10.0.7.0'
+ end
+ end
+
+ def run
+ puts "source: #{source}"
+ full_dest = DEST_PREFIX + dest
+ puts "dest: #{full_dest}"
+
+ Rsync.run(source, full_dest, ['-rtz']) do |result|
+ if result.success?
+ result.changes.each do |change|
+ puts "#{change.filename} (#{change.summary})"
+ end
+ else
+ puts result.error
+ end
+ end
+ end
+
+ private
+
+ attr_reader :dest, :source
+ end
+end