avodeploy 0.5 → 0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5a1b04cd17393f6c97bf4de8b47b6d9c1f6917c
4
- data.tar.gz: 8b63dc83eab4cea72b00b4a874d6e809ff79066b
3
+ metadata.gz: 712296487b35893131d2e0f652d4592985ef66b0
4
+ data.tar.gz: 39c30437334b6232ae0e97e10576c81a98a67746
5
5
  SHA512:
6
- metadata.gz: ac202f5b23a6709f2e3957947307a15757d784d2a7a8e4778c6dbfc02741a353c9165197076026085359f0003414c0e451dab699c6b2a419513a1a964a504003
7
- data.tar.gz: 27e865de96259b7b52900effd25b5b3a40e7a65a3bca10a41a96b3a45b4fdaab312905aaa185b87824581ab52cc4f440333516aa64cac298d6906d64a2f077fb
6
+ metadata.gz: de0625baa2ad79105c8b0ccae4e71c0377eab51708d406125e98dc037c53e31427f604747f81df0ad11ec68c531fa8fca00a3e01802d3cab2722ceecda09401f
7
+ data.tar.gz: 8ec0903c0d593cb00a13580b4f0af5dfa257d7e54261efde6e1a38f4c8379c24ba279c763518a9d0abb5a563d070421c5bd9ec71b4f0bca1a6c4711e392091a6
data/CHANGELOG CHANGED
@@ -1,5 +1,12 @@
1
- 0.5
1
+ 0.6
2
+ * Git now uses `--recursive` by default
3
+ * Turned off password auth completely (publickey and hostbased only)
4
+ * Logging to STDOUT and avodeploy.log in the current pwd simultaneously
5
+ * Experimental os x target support (set AvoDeploy::AVO_ENABLE_OSX_TARGETS to true)
6
+ * VCS control files are now being ignored recursively
7
+ * Implemented "version" command
2
8
 
9
+ 0.5
3
10
  * avo cli command is now verbose by default
4
11
  * Optimized various log levels
5
12
  * SSH connections time out after 30 seconds
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ avodeploy (0.6)
5
+ net-scp (~> 1.2.1)
6
+ net-ssh (~> 2.9.1)
7
+ terminal-table (~> 1.4.5)
8
+ thor (~> 0.19.1)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ net-scp (1.2.1)
14
+ net-ssh (>= 2.6.5)
15
+ net-ssh (2.9.2)
16
+ rake (10.4.2)
17
+ terminal-table (1.4.5)
18
+ thor (0.19.1)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ avodeploy!
25
+ bundler (~> 1.7)
26
+ rake (~> 10.0)
data/README.md CHANGED
@@ -3,7 +3,7 @@ develop: ![](https://travis-ci.org/dprandzioch/avocado.svg?branch=develop) | mas
3
3
  ### Avocado
4
4
  Avocado is a deployment framework for web applications written in Ruby.
5
5
 
6
- The current release is 0.5.
6
+ The current release is 0.6.
7
7
 
8
8
  ### Licensing
9
9
  Avocado is licensed under the GPLv2. For more Information have a look into the LICENSE file.
data/bin/avo CHANGED
@@ -127,6 +127,12 @@ class AvocadoCli < Thor
127
127
  puts 'The deployment manifest file called `Avofile` has been created in the current directory.'
128
128
  end
129
129
 
130
+ desc 'version', 'Prints versioning information'
131
+ def version
132
+ puts "Avocado: #{AvoDeploy::VERSION}"
133
+ puts "Ruby: #{RUBY_VERSION}"
134
+ end
135
+
130
136
  end
131
137
 
132
138
  AvocadoCli.start(ARGV)
@@ -29,7 +29,8 @@ module AvoDeploy
29
29
  @task_manager = AvoDeploy::Task::TaskManager.new
30
30
  @config = AvoDeploy::Config.new
31
31
 
32
- @log = ::Logger.new(STDOUT)
32
+ log_file = File.open('avodeploy.log', 'a')
33
+ @log = ::Logger.new AvoDeploy::MultiIO.new(STDOUT, log_file)
33
34
  end
34
35
 
35
36
  # Configures the deployment
@@ -34,7 +34,7 @@ module AvoDeploy
34
34
  # @param branch [String] the branch to check out
35
35
  # @param tag [String] tag to check out
36
36
  def checkout_from_remote(url, local_dir, branch, tag = nil)
37
- res = @env.command("git clone #{url} #{local_dir}")
37
+ res = @env.command("git clone --recursive #{url} #{local_dir}")
38
38
  raise RuntimeError, "Could not clone from git url #{url}" unless res.retval == 0
39
39
 
40
40
  branch = tag if tag.nil? == false
@@ -31,7 +31,7 @@ AvoDeploy::Deployment.configure do
31
31
  task :check_remote_system, before: :deploy, scope: :remote do
32
32
  res = command 'uname -a'
33
33
 
34
- if res.stdout.include?('Linux') == false
34
+ if res.stdout.include?('Linux') == false && AvoDeploy::AVO_ENABLE_OSX_TARGETS == false
35
35
  raise RuntimeError, 'Only linux target systems are supported right now.'
36
36
  end
37
37
 
@@ -76,10 +76,16 @@ AvoDeploy::Deployment.configure do
76
76
  end
77
77
 
78
78
  task :create_deployment_tarball, after: :create_revision_file do
79
- files_to_delete = ['Avofile'].concat(get(:ignore_files)).concat(@scm.scm_files)
79
+ files_to_delete = ['Avofile'].concat(get(:ignore_files))
80
80
 
81
81
  exclude_param = ''
82
82
 
83
+ # scm files are ignored globally
84
+ @scm.scm_files.each do |file|
85
+ exclude_param += " --exclude='#{file}'"
86
+ end
87
+
88
+ # all other files must be absolute
83
89
  files_to_delete.each do |file|
84
90
  exclude_param += " --exclude='^#{file}$'"
85
91
  end
@@ -75,7 +75,8 @@ module AvoDeploy
75
75
  target.config[:host],
76
76
  target.config[:user],
77
77
  {
78
- :port => target.config[:port]
78
+ :port => target.config[:port],
79
+ :auth_methods => [ 'publickey', 'hostbased' ],
79
80
  }
80
81
  ) do |session|
81
82
  session.scp.upload!(file, remote, :recursive => true) do |ch, name, sent, total|
@@ -27,7 +27,7 @@ module AvoDeploy
27
27
  AvoDeploy::Deployment.instance.log.debug "connecting to #{get(:user)}@#{get(:host)}..."
28
28
 
29
29
  begin
30
- @session = ::Net::SSH.start(get(:host), get(:user), port: get(:port), timeout: 30)
30
+ @session = ::Net::SSH.start(get(:host), get(:user), port: get(:port), timeout: 30, auth_methods: [ 'publickey', 'hostbased' ])
31
31
  rescue ::Net::SSH::AuthenticationFailed => e
32
32
  handle_abort e
33
33
  end
@@ -17,5 +17,5 @@
17
17
  =end
18
18
 
19
19
  module AvoDeploy
20
- VERSION = '0.5'
20
+ VERSION = '0.6'
21
21
  end
data/lib/avodeploy.rb CHANGED
@@ -17,6 +17,7 @@ require 'avodeploy/scm_provider/scm_provider.rb'
17
17
  require 'avodeploy/scm_provider/git_scm_provider.rb'
18
18
  require 'avodeploy/scm_provider/bzr_scm_provider.rb'
19
19
 
20
+ require 'avodeploy/version.rb'
20
21
  require 'avodeploy/multi_io.rb'
21
22
  require 'avodeploy/command_execution_result.rb'
22
23
  require 'avodeploy/target.rb'
@@ -27,4 +28,6 @@ require 'avodeploy/bootstrap.rb'
27
28
  module AvoDeploy
28
29
  LIBNAME = 'avodeploy'
29
30
  LIBDIR = File.expand_path("../#{LIBNAME}", __FILE__)
31
+
32
+ AVO_ENABLE_OSX_TARGETS = false
30
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avodeploy
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: '0.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Prandzioch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-19 00:00:00.000000000 Z
11
+ date: 2015-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -105,6 +105,7 @@ files:
105
105
  - .travis.yml
106
106
  - CHANGELOG
107
107
  - Gemfile
108
+ - Gemfile.lock
108
109
  - LICENSE
109
110
  - README.md
110
111
  - Rakefile