coalla-deploy 0.1.10
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 +15 -0
- data/.gitignore +11 -0
- data/Gemfile +4 -0
- data/Rakefile +31 -0
- data/app/views/metric/_yandex_metrica.html.haml +15 -0
- data/coalla-deploy.gemspec +27 -0
- data/lib/coalla-deploy/engine.rb +10 -0
- data/lib/coalla-deploy/unicorn.rb +56 -0
- data/lib/coalla-deploy/version.rb +5 -0
- data/lib/coalla-deploy.rb +3 -0
- data/lib/generators/coalla/deploy/init/init_generator.rb +30 -0
- data/server_setup.rb +19 -0
- data/setup-server.sh +4 -0
- data/templates/Capfile +4 -0
- data/templates/Gemfile.linux +4 -0
- data/templates/assets.rake +16 -0
- data/templates/build-production.sh +4 -0
- data/templates/build-staging.sh +4 -0
- data/templates/deploy.rb +132 -0
- data/templates/http_auth.rb +18 -0
- data/templates/production.rb +4 -0
- data/templates/staging.rb +4 -0
- data/templates/unicorn.rb +5 -0
- metadata +149 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZjliYzkxNThjM2JlNDBmYTc3MjgwYjU3MmRlYTI1OWQwNjYxOWEzZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2Y5ZTg0NGEzMDAyN2QyMDNjYWFiYTU3YTliN2IyMWIxOGRmODM3Mg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
M2JlOGQyOWFkZTIzOTNmZDFjMTc5NGVlNDg2MjgzZDBlYTU4ZmYyYzM0Njgz
|
10
|
+
YzEzZjQ5YjM5OTI4OWE4ZTg2ODc5NzRhNTA2NmRmOTdjOTYzOTU4YTZjNjA1
|
11
|
+
NTc3ZDkzMjNiMzQ5MGI2OTY5ZWZjZGQ2YTUxYjg0YjdjNWEyZmM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
M2JhZDQ1N2FiNzEzNWMwYzY5MGM5NjhiNmZiYThlZjdkODFlM2MwNDZjZmFk
|
14
|
+
YWE1YmU5ZDg2MWQ4NjRlZTExNDY3NThhNWRhNzcyZWJmYmFhZDU3NzE3NGE4
|
15
|
+
ZjgwMmQzMTY5NjRiZGY3OTJlMWM4YjRhOTRmNjY1YzM0YTA3OTg=
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require 'net/ssh'
|
3
|
+
require 'net/scp'
|
4
|
+
require 'fileutils'
|
5
|
+
|
6
|
+
task 'build:gem' do
|
7
|
+
host = '5.9.118.111'
|
8
|
+
user = 'deployer'
|
9
|
+
Net::SSH.start(host, user, port: 60000) do |ssh|
|
10
|
+
base_dir = "/home/#{user}/temp/coalla-gems"
|
11
|
+
project_name = 'coalla-deploy'
|
12
|
+
git_url = "http://git.coalla.ru/#{project_name}.git"
|
13
|
+
gems_dir = '/var/www/virtual-hosts/gems.coalla.ru'
|
14
|
+
output = ssh.exec! <<-SH
|
15
|
+
mkdir --parents #{base_dir}
|
16
|
+
cd #{base_dir}
|
17
|
+
git clone #{git_url}
|
18
|
+
cd #{project_name}
|
19
|
+
source /etc/profile.d/rvm.sh
|
20
|
+
rvm 1.9.3
|
21
|
+
gem build coalla-deploy.gemspec
|
22
|
+
cp -rf *.gem #{gems_dir}/gems
|
23
|
+
cd #{gems_dir}
|
24
|
+
source /etc/profile.d/rvm.sh
|
25
|
+
rvm 1.9.3
|
26
|
+
gem generate_index
|
27
|
+
rm -R #{base_dir}
|
28
|
+
SH
|
29
|
+
puts output
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
-# counter_id - ID счетчика в системе Yandex
|
2
|
+
- if Rails.env.production?
|
3
|
+
%div{style: 'display:none;'}
|
4
|
+
:javascript
|
5
|
+
(function(w, c) {
|
6
|
+
(w[c] = w[c] || []).push(function() {
|
7
|
+
try {
|
8
|
+
w.yaCounter#{counter_id} = new Ya.Metrika({id:#{counter_id}, enableAll: true, webvisor:true});
|
9
|
+
} catch(e) { }
|
10
|
+
});
|
11
|
+
})(window, 'yandex_metrika_callbacks');
|
12
|
+
%script{src: '//mc.yandex.ru/metrika/watch.js', type: 'text/javascript', defer: 'defer'}
|
13
|
+
%noscript
|
14
|
+
%div
|
15
|
+
%img{src: "//mc.yandex.ru/watch/#{counter_id}", style: 'position:absolute; left:-9999px;', alt: ''}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "coalla-deploy/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "coalla-deploy"
|
7
|
+
s.version = Coalla::Deploy::VERSION
|
8
|
+
s.authors = ["coalla"]
|
9
|
+
s.email = ["dev@coalla.ru"]
|
10
|
+
s.homepage = "http://coalla.ru"
|
11
|
+
s.summary = "Coalla deploy gem"
|
12
|
+
s.description = "Coalla deploy gem"
|
13
|
+
|
14
|
+
s.rubyforge_project = "coalla-deploy"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_dependency 'railties', '~> 4.0'
|
22
|
+
s.add_dependency 'thor', '~> 0.18'
|
23
|
+
s.add_development_dependency 'bundler', '~> 1.3.5'
|
24
|
+
s.add_development_dependency 'rails', '~> 4.0'
|
25
|
+
s.add_development_dependency 'net-ssh', '~> 2.7'
|
26
|
+
s.add_development_dependency 'net-scp', '~> 1.1'
|
27
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
module Coalla
|
3
|
+
|
4
|
+
class Unicorn
|
5
|
+
|
6
|
+
def self.init(configurator, options = {})
|
7
|
+
configurator.instance_eval do
|
8
|
+
deploy_to = options.delete(:deploy_to)
|
9
|
+
rails_root = "#{deploy_to}/current"
|
10
|
+
pid_file = "#{deploy_to}/shared/pids/unicorn.pid"
|
11
|
+
socket_file= "#{deploy_to}/shared/unicorn.sock"
|
12
|
+
log_file = "#{rails_root}/log/unicorn.log"
|
13
|
+
err_log = "#{rails_root}/log/unicorn_error.log"
|
14
|
+
old_pid = pid_file + '.oldbin'
|
15
|
+
|
16
|
+
working_directory rails_root
|
17
|
+
|
18
|
+
timeout options.delete(:timeout) || 30
|
19
|
+
worker_processes options.delete(:worker_processes) || 1
|
20
|
+
listen socket_file, :backlog => 1024
|
21
|
+
pid pid_file
|
22
|
+
stderr_path err_log
|
23
|
+
stdout_path log_file
|
24
|
+
|
25
|
+
preload_app true # Мастер процесс загружает приложение, перед тем, как плодить рабочие процессы.
|
26
|
+
|
27
|
+
GC.copy_on_write_friendly = true if GC.respond_to?(:copy_on_write_friendly=)
|
28
|
+
|
29
|
+
before_exec do |server|
|
30
|
+
ENV["BUNDLE_GEMFILE"] = "#{rails_root}/Gemfile"
|
31
|
+
end
|
32
|
+
|
33
|
+
before_fork do |server, worker|
|
34
|
+
# Перед тем, как создать первый рабочий процесс, мастер отсоединяется от базы.
|
35
|
+
defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
|
36
|
+
|
37
|
+
# Ниже идет магия, связанная с 0 downtime deploy.
|
38
|
+
if File.exists?(old_pid) && server.pid != old_pid
|
39
|
+
begin
|
40
|
+
Process.kill("QUIT", File.read(old_pid).to_i)
|
41
|
+
rescue Errno::ENOENT, Errno::ESRCH
|
42
|
+
# someone else did our job for us
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
after_fork do |server, worker|
|
48
|
+
# После того как рабочий процесс создан, он устанавливает соединение с базой.
|
49
|
+
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rails'
|
2
|
+
|
3
|
+
module Coalla
|
4
|
+
|
5
|
+
module Deploy
|
6
|
+
|
7
|
+
module Generators
|
8
|
+
|
9
|
+
class InitGenerator < ::Rails::Generators::Base
|
10
|
+
|
11
|
+
source_root File.expand_path('../../../../../../templates', __FILE__)
|
12
|
+
|
13
|
+
def copy_build_scripts
|
14
|
+
copy_file 'build-production.sh', 'build-production.sh'
|
15
|
+
copy_file 'build-staging.sh', 'build-staging.sh'
|
16
|
+
copy_file 'Capfile', 'Capfile'
|
17
|
+
copy_file 'Gemfile.linux', 'Gemfile.linux'
|
18
|
+
copy_file 'unicorn.rb', 'config/unicorn.rb'
|
19
|
+
copy_file 'deploy.rb', 'config/deploy.rb'
|
20
|
+
copy_file 'assets.rake', 'lib/tasks/assets.rake'
|
21
|
+
copy_file 'staging.rb', 'config/deploy/staging.rb'
|
22
|
+
copy_file 'production.rb', 'config/deploy/production.rb'
|
23
|
+
copy_file 'http_auth.rb', 'config/initializers/http_auth.rb'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
data/server_setup.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
package :setup do
|
2
|
+
apt 'python-software-properties'
|
3
|
+
end
|
4
|
+
|
5
|
+
deployment do
|
6
|
+
|
7
|
+
# mechanism for deployment
|
8
|
+
delivery :capistrano do
|
9
|
+
recipes 'deploy'
|
10
|
+
end
|
11
|
+
|
12
|
+
# source based package installer defaults
|
13
|
+
source do
|
14
|
+
prefix '/usr/local' # where all source packages will be configured to install
|
15
|
+
archives '/usr/local/sources' # where all source packages will be downloaded to
|
16
|
+
builds '/usr/local/build' # where all source packages will be built
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/setup-server.sh
ADDED
data/templates/Capfile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
namespace :assets do
|
2
|
+
desc 'copy assets without digest in their names, use it after assets:precompile'
|
3
|
+
task non_digested: :environment do
|
4
|
+
assets = Dir.glob(File.join(Rails.root, 'public/assets/**/*'))
|
5
|
+
regex = /(-{1}[a-z0-9]{32}*\.{1}){1}/
|
6
|
+
assets.each do |file|
|
7
|
+
next if File.directory?(file) || file !~ regex || File.basename(file).starts_with?('manifest')
|
8
|
+
|
9
|
+
source = file.split('/')
|
10
|
+
source.push(source.pop.gsub(regex, '.'))
|
11
|
+
|
12
|
+
non_digested = File.join(source)
|
13
|
+
FileUtils.cp(file, non_digested)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/templates/deploy.rb
ADDED
@@ -0,0 +1,132 @@
|
|
1
|
+
# Rails assets pipeline
|
2
|
+
load 'deploy/assets'
|
3
|
+
|
4
|
+
set :stages, %w(staging production)
|
5
|
+
require 'capistrano/ext/multistage'
|
6
|
+
|
7
|
+
set :repository, 'http://git.coalla.ru/coalla.git'
|
8
|
+
ssh_options[:port] = 60000
|
9
|
+
set :user, 'deployer'
|
10
|
+
set(:deploy_to) { "/var/www/virtual-hosts/#{application}" }
|
11
|
+
set(:unicorn_service) { "/etc/init.d/unicorn-#{application}" }
|
12
|
+
set :use_whenever, File.exists?(File.join(File.expand_path('..', File.dirname(__FILE__)), 'config', 'schedule.rb'))
|
13
|
+
set :use_sphinx, File.exists?(File.join(File.expand_path('..', File.dirname(__FILE__)), 'config', 'thinking_sphinx.yml'))
|
14
|
+
set :use_delayed_job, File.exists?(File.join(File.expand_path('..', File.dirname(__FILE__)), 'bin', 'delayed_job'))
|
15
|
+
|
16
|
+
# RVM configuration
|
17
|
+
require 'rvm/capistrano'
|
18
|
+
set :rvm_type, :system
|
19
|
+
set :rvm_ruby_string, '2.0.0'
|
20
|
+
|
21
|
+
default_run_options[:pty] = true
|
22
|
+
set :scm, :git
|
23
|
+
set :deploy_via, :copy
|
24
|
+
set :keep_releases, 3
|
25
|
+
|
26
|
+
desc 'Make symlink'
|
27
|
+
task :make_symlink, :roles => :app do
|
28
|
+
run "ln -nfs #{shared_path}/system/uploads #{release_path}/public/uploads"
|
29
|
+
end
|
30
|
+
|
31
|
+
desc 'Make a symlink to robots.txt according to rails_env'
|
32
|
+
task :symlink_robots_txt, :roles => :app do
|
33
|
+
run "ln -nfs #{release_path}/config/deploy/#{rails_env}/robots.txt #{release_path}/public/robots.txt"
|
34
|
+
end
|
35
|
+
|
36
|
+
after 'deploy:create_symlink', :make_symlink
|
37
|
+
|
38
|
+
# Removed 'deployment' flag, cause it needs Gemfile.lock exists in repository
|
39
|
+
# This can't be done due to Windows problems with nokogiri, ImageMagick etc
|
40
|
+
set :bundle_flags, '--quiet'
|
41
|
+
require 'bundler/capistrano'
|
42
|
+
|
43
|
+
# Unicorn recipe
|
44
|
+
namespace :deploy do
|
45
|
+
task :restart, roles: :app, except: {no_release: true} do
|
46
|
+
run "sudo #{unicorn_service} upgrade"
|
47
|
+
end
|
48
|
+
|
49
|
+
task :sudo_migrate do
|
50
|
+
run("cd #{deploy_to}/current && rvmsudo -u www-data bundle exec rake db:migrate RAILS_ENV=#{rails_env}")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Sitemap copy
|
55
|
+
after 'deploy:update_code', 'deploy:copy_old_sitemap'
|
56
|
+
after 'deploy:update_code', :symlink_robots_txt
|
57
|
+
namespace :deploy do
|
58
|
+
task :copy_old_sitemap do
|
59
|
+
run "if [ -e #{previous_release}/public/sitemap.xml.gz ]; then cp #{previous_release}/public/sitemap* #{current_release}/public/; fi"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# Backup database
|
64
|
+
require 'yaml'
|
65
|
+
task :backup_database, :roles => :db do
|
66
|
+
if previous_release
|
67
|
+
db = YAML::load(ERB.new(IO.read(File.join(File.expand_path('..', File.dirname(__FILE__)), 'config', 'database.yml'))).result)["#{rails_env}"]
|
68
|
+
run "export PGPASSWORD='#{db['password']}' && pg_dump --username=#{db['username']} --format=custom --file=#{File.join(previous_release, 'db.backup')} #{db['database']} --host=#{db['host']}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
task :update_gemfile, :roles => :app do
|
73
|
+
run "cat #{current_release}/Gemfile.linux >> #{current_release}/Gemfile"
|
74
|
+
end
|
75
|
+
|
76
|
+
set :use_sudo, false
|
77
|
+
after :deploy, 'deploy:cleanup'
|
78
|
+
before 'deploy:restart', 'deploy:sudo_migrate'
|
79
|
+
after 'deploy:update_code', :backup_database
|
80
|
+
before 'bundle:install', :update_gemfile
|
81
|
+
|
82
|
+
after 'deploy:assets:precompile' do
|
83
|
+
run "cd #{release_path} && bundle exec rake tmp:cache:clear RAILS_ENV=#{rails_env}"
|
84
|
+
run "cd #{release_path} && bundle exec rake assets:non_digested RAILS_ENV=#{rails_env}"
|
85
|
+
end
|
86
|
+
|
87
|
+
if use_whenever
|
88
|
+
set :whenever_command, "rvm use #{rvm_ruby_string} && bundle exec whenever"
|
89
|
+
set :whenever_environment, defer { stage }
|
90
|
+
require 'whenever/capistrano'
|
91
|
+
end
|
92
|
+
|
93
|
+
if use_sphinx
|
94
|
+
|
95
|
+
require 'thinking_sphinx/capistrano'
|
96
|
+
|
97
|
+
# Sphinx Recipes
|
98
|
+
namespace :thinking_sphinx do
|
99
|
+
|
100
|
+
def rake(*tasks)
|
101
|
+
rake = fetch(:rake, 'rake')
|
102
|
+
tasks.each do |t|
|
103
|
+
run "if [ -d #{release_path} ]; then cd #{release_path}; else cd #{current_path}; fi; rvmsudo -u www-data #{rake} RAILS_ENV=#{rails_env} #{t}"
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
desc 'Symlink Sphinx indexes'
|
108
|
+
task :symlink_indexes, roles: [:app] do
|
109
|
+
run "ln -nfs #{shared_path}/db/sphinx #{release_path}/db/sphinx"
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
113
|
+
|
114
|
+
# Sphinx Steps
|
115
|
+
after 'deploy:sudo_migrate', 'thinking_sphinx:stop'
|
116
|
+
after 'deploy:sudo_migrate', 'thinking_sphinx:index'
|
117
|
+
after 'deploy:sudo_migrate', 'thinking_sphinx:start'
|
118
|
+
after 'deploy:finalize_update', 'thinking_sphinx:symlink_indexes'
|
119
|
+
|
120
|
+
end
|
121
|
+
|
122
|
+
# Delayed job
|
123
|
+
if use_delayed_job
|
124
|
+
|
125
|
+
require 'delayed/recipes'
|
126
|
+
|
127
|
+
set(:delayed_job_command) { "rvmsudo -u www-data RAILS_ENV=#{fetch(:rails_env)} bundle exec bin/delayed_job" }
|
128
|
+
after 'deploy:stop', 'delayed_job:stop'
|
129
|
+
after 'deploy:start', 'delayed_job:start'
|
130
|
+
after 'deploy:restart', 'delayed_job:restart'
|
131
|
+
|
132
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Coalla
|
2
|
+
module HttpAuth
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
before_action do
|
7
|
+
if ::Rails.env.staging?
|
8
|
+
authenticate_or_request_with_http_basic do |username, password|
|
9
|
+
username == 'demo' && password == '1qaz3edc'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
ApplicationController.send(:include, Coalla::HttpAuth)
|
metadata
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: coalla-deploy
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.10
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- coalla
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: thor
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.18'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.18'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.3.5
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.3.5
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '4.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: net-ssh
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.7'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.7'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: net-scp
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.1'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.1'
|
97
|
+
description: Coalla deploy gem
|
98
|
+
email:
|
99
|
+
- dev@coalla.ru
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- .gitignore
|
105
|
+
- Gemfile
|
106
|
+
- Rakefile
|
107
|
+
- app/views/metric/_yandex_metrica.html.haml
|
108
|
+
- coalla-deploy.gemspec
|
109
|
+
- lib/coalla-deploy.rb
|
110
|
+
- lib/coalla-deploy/engine.rb
|
111
|
+
- lib/coalla-deploy/unicorn.rb
|
112
|
+
- lib/coalla-deploy/version.rb
|
113
|
+
- lib/generators/coalla/deploy/init/init_generator.rb
|
114
|
+
- server_setup.rb
|
115
|
+
- setup-server.sh
|
116
|
+
- templates/Capfile
|
117
|
+
- templates/Gemfile.linux
|
118
|
+
- templates/assets.rake
|
119
|
+
- templates/build-production.sh
|
120
|
+
- templates/build-staging.sh
|
121
|
+
- templates/deploy.rb
|
122
|
+
- templates/http_auth.rb
|
123
|
+
- templates/production.rb
|
124
|
+
- templates/staging.rb
|
125
|
+
- templates/unicorn.rb
|
126
|
+
homepage: http://coalla.ru
|
127
|
+
licenses: []
|
128
|
+
metadata: {}
|
129
|
+
post_install_message:
|
130
|
+
rdoc_options: []
|
131
|
+
require_paths:
|
132
|
+
- lib
|
133
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
requirements: []
|
144
|
+
rubyforge_project: coalla-deploy
|
145
|
+
rubygems_version: 2.4.3
|
146
|
+
signing_key:
|
147
|
+
specification_version: 4
|
148
|
+
summary: Coalla deploy gem
|
149
|
+
test_files: []
|