avodeploy 0.5 → 0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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: ![](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.
|
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
|