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 +4 -4
- data/CHANGELOG +8 -1
- data/Gemfile.lock +26 -0
- data/README.md +1 -1
- data/bin/avo +6 -0
- data/lib/avodeploy/deployment.rb +2 -1
- data/lib/avodeploy/scm_provider/git_scm_provider.rb +1 -1
- data/lib/avodeploy/strategy/local_copy.rb +8 -2
- data/lib/avodeploy/task/local_task_execution_environment.rb +2 -1
- data/lib/avodeploy/task/remote_task_execution_environment.rb +1 -1
- data/lib/avodeploy/version.rb +1 -1
- data/lib/avodeploy.rb +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 712296487b35893131d2e0f652d4592985ef66b0
|
4
|
+
data.tar.gz: 39c30437334b6232ae0e97e10576c81a98a67746
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de0625baa2ad79105c8b0ccae4e71c0377eab51708d406125e98dc037c53e31427f604747f81df0ad11ec68c531fa8fca00a3e01802d3cab2722ceecda09401f
|
7
|
+
data.tar.gz: 8ec0903c0d593cb00a13580b4f0af5dfa257d7e54261efde6e1a38f4c8379c24ba279c763518a9d0abb5a563d070421c5bd9ec71b4f0bca1a6c4711e392091a6
|
data/CHANGELOG
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
-
0.
|
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:  | 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.
|
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)
|
data/lib/avodeploy/deployment.rb
CHANGED
@@ -29,7 +29,8 @@ module AvoDeploy
|
|
29
29
|
@task_manager = AvoDeploy::Task::TaskManager.new
|
30
30
|
@config = AvoDeploy::Config.new
|
31
31
|
|
32
|
-
|
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))
|
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
|
data/lib/avodeploy/version.rb
CHANGED
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.
|
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-
|
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
|