mergulhao-hostnet 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,34 @@
1
+ desc 'Release the website and new gem version'
2
+ task :deploy => [:check_version, :website, :release] do
3
+ puts "Remember to create SVN tag:"
4
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
+ puts "Suggested comment:"
7
+ puts "Tagging release #{CHANGES}"
8
+ end
9
+
10
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
+ task :local_deploy => [:website_generate, :install_gem]
12
+
13
+ task :check_version do
14
+ unless ENV['VERSION']
15
+ puts 'Must pass a VERSION=x.y.z release version'
16
+ exit
17
+ end
18
+ unless ENV['VERSION'] == VERS
19
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
20
+ exit
21
+ end
22
+ end
23
+
24
+ desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
+ task :install_gem_no_doc => [:clean, :package] do
26
+ sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
27
+ end
28
+
29
+ namespace :manifest do
30
+ desc 'Recreate Manifest.txt to include ALL files'
31
+ task :refresh do
32
+ `rake check_manifest | patch -p0 > Manifest.txt`
33
+ end
34
+ end
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
@@ -0,0 +1,9 @@
1
+ # stubs for the website generation
2
+ # To install the website framework:
3
+ # script/generate website
4
+
5
+ task :website_generate
6
+
7
+ task :website_upload
8
+
9
+ task :website => :publish_docs
@@ -0,0 +1,29 @@
1
+ begin
2
+ require File.dirname(__FILE__) + '/test_helper'
3
+ rescue LoadError
4
+ require 'test/unit'
5
+ end
6
+ require 'fileutils'
7
+
8
+ # Must set before requiring generator libs.
9
+ TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
10
+ PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
11
+ app_root = File.join(TMP_ROOT, PROJECT_NAME)
12
+ if defined?(APP_ROOT)
13
+ APP_ROOT.replace(app_root)
14
+ else
15
+ APP_ROOT = app_root
16
+ end
17
+ if defined?(RAILS_ROOT)
18
+ RAILS_ROOT.replace(app_root)
19
+ else
20
+ RAILS_ROOT = app_root
21
+ end
22
+
23
+ begin
24
+ require 'rubigen'
25
+ rescue LoadError
26
+ require 'rubygems'
27
+ require 'rubigen'
28
+ end
29
+ require 'rubigen/helpers/generator_test_helper'
@@ -0,0 +1,2 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/hostnet'
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestHostnet < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
@@ -0,0 +1,45 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+ require 'rails_generator'
4
+
5
+ class TestHostnetDeployGenerator < Test::Unit::TestCase
6
+ include RubiGen::GeneratorTestHelper
7
+
8
+ def setup
9
+ bare_setup
10
+ end
11
+
12
+ def teardown
13
+ bare_teardown
14
+ end
15
+
16
+ # Some generator-related assertions:
17
+ # assert_generated_file(name, &block) # block passed the file contents
18
+ # assert_directory_exists(name)
19
+ # assert_generated_class(name, &block)
20
+ # assert_generated_module(name, &block)
21
+ # assert_generated_test_for(name, &block)
22
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
23
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
24
+ #
25
+ # Other helper methods are:
26
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
27
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
28
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
29
+
30
+ def test_generator_without_options
31
+ name = "myapp"
32
+ run_generator('hostnet_deploy', [name], sources)
33
+ assert_generated_file("some_file")
34
+ end
35
+
36
+ private
37
+ def sources
38
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
39
+ ]
40
+ end
41
+
42
+ def generator_path
43
+ "rails_generators"
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+ require 'rails_generator'
4
+
5
+ class TestHostnetEmailGenerator < Test::Unit::TestCase
6
+ include RubiGen::GeneratorTestHelper
7
+
8
+ def setup
9
+ bare_setup
10
+ end
11
+
12
+ def teardown
13
+ bare_teardown
14
+ end
15
+
16
+ # Some generator-related assertions:
17
+ # assert_generated_file(name, &block) # block passed the file contents
18
+ # assert_directory_exists(name)
19
+ # assert_generated_class(name, &block)
20
+ # assert_generated_module(name, &block)
21
+ # assert_generated_test_for(name, &block)
22
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
23
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
24
+ #
25
+ # Other helper methods are:
26
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
27
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
28
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
29
+
30
+ def test_generator_without_options
31
+ name = "myapp"
32
+ run_generator('hostnet_email', [name], sources)
33
+ assert_generated_file("some_file")
34
+ end
35
+
36
+ private
37
+ def sources
38
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
39
+ ]
40
+ end
41
+
42
+ def generator_path
43
+ "rails_generators"
44
+ end
45
+ end
@@ -0,0 +1,94 @@
1
+ Meu primeiro deploy de aplicação Rails para a Hostnet
2
+ =====================================================
3
+
4
+ Este tutorial apresenta um passo-a-passo do seu primeiro deploy de uma aplicação Rails sem utilizar controle de versão. Assumimos aqui que você já possui uma conta Rails na Hostnet e uma aplicação que você desejar colocar no ar. Todos os comandos são executados no diretório raiz do seu projeto.
5
+
6
+ 1. Você deve possuir a gem da Hostnet instalada. Se você não possui, execute:
7
+
8
+ gem install mergulhao-hostnet --source=http://gems.github.com
9
+
10
+ 2. Configure a seção production do seu database.yml com os dados da sua conta Mysql. Exemplo:
11
+
12
+ production:
13
+ adapter: mysql
14
+ database: seu_database
15
+ username: usuario
16
+ password: senha
17
+ host: mysql.dominio.com
18
+
19
+ 3. Agora é necessário criar a receita de deploy através do utilitário da Hostnet. Isso significa executar:
20
+
21
+ hostnet seu_usuario seu_dominio.com
22
+
23
+ 4. É necessário preparar o terreno no servidor para o primeiro deploy. Basta executar:
24
+
25
+ cap deploy:setup
26
+
27
+ 5. Para finalizar:
28
+
29
+ cap deploy
30
+
31
+ Se tudo deu certo a sua aplicação estará no ar.
32
+
33
+ Realizando um novo deploy, após correção de um bug
34
+ ==================================================
35
+
36
+ Supondo que você corrigiu um bug e deseja atualizar a versão no servidor basta executar novamente:
37
+
38
+ cap deploy
39
+
40
+ E as novas modificações estarão no ar!
41
+
42
+ Solução de problemas
43
+ ====================
44
+
45
+ Versão do Rails
46
+ ---------------
47
+
48
+ Se ocorrer durante o deploy um erro como esse:
49
+
50
+ *** [err :: dominio.com] Missing the Rails 2.1.0 gem. Please `gem install
51
+ -v=2.1.0 rails`, update your RAILS_GEM_VERSION setting in
52
+ config/environment.rb for the Rails version you do have installed, or
53
+ comment out RAILS_GEM_VERSION to use the latest version installed.
54
+
55
+ ou esse:
56
+
57
+ *** [err :: dominio.com] Missing the Rails 2.0.2 gem. Please `gem install
58
+ -v=2.0.2 rails`, update your RAILS_GEM_VERSION setting in
59
+ config/environment.rb for the Rails version you do have installed, or
60
+ comment out RAILS_GEM_VERSION to use the latest version installed.
61
+
62
+ Você deve editar o seu arquivo config/enviroment.rb e alterar a linha que diz:
63
+
64
+ RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
65
+
66
+ ou
67
+
68
+ RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
69
+
70
+ Para:
71
+
72
+ RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION
73
+
74
+ ou
75
+
76
+ RAILS_GEM_VERSION = '2.0.4' unless defined? RAILS_GEM_VERSION
77
+
78
+ Respectivamente.
79
+
80
+ Erro de acesso ao banco de dados
81
+ --------------------------------
82
+
83
+ Se ocorrer durante o deploy um erro como esse:
84
+
85
+ * executing "cd /home/usuario/www/releases/20080916192611 && rake db:migrate RAILS_ENV=production"
86
+ servers: ["dominio.com"]
87
+ [dominio.com] executing command
88
+ *** [err :: dominio.com] rake aborted!
89
+ *** [err :: dominio.com] Access denied for user: 'user@dominio.com' (Using password: YES)
90
+ *** [err :: dominio.com]
91
+ *** [err :: dominio.com] (See full trace by running task with --trace)
92
+ ** [out :: dominio.com] (in /home/usuario/www/releases/20080916192611)
93
+
94
+ Você deve verificar o arquivo config/database.yml e configurar com os dados da sua conta Mysql, como indicado no passo 2.
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mergulhao-hostnet
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Sylvestre Mergulhao
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-09-30 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rubigen
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.3.2
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: capistrano
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 2.5.0
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: archive-tar-minitar
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.2
41
+ version:
42
+ - !ruby/object:Gem::Dependency
43
+ name: hoe
44
+ version_requirement:
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.7.0
50
+ version:
51
+ description: "gem oficial para suporte a deploy de aplica\xC3\xA7\xC3\xB5es"
52
+ email:
53
+ - contato@mergulhao.info
54
+ executables:
55
+ - hostnet
56
+ extensions: []
57
+
58
+ extra_rdoc_files:
59
+ - Manifest.txt
60
+ - README.txt
61
+ files:
62
+ - CHANGELOG
63
+ - LICENSE
64
+ - Manifest.txt
65
+ - README.mkdn
66
+ - README.txt
67
+ - Rakefile
68
+ - TODO
69
+ - bin/hostnet
70
+ - bin/hostnet-
71
+ - config/hoe.rb
72
+ - config/requirements.rb
73
+ - hostnet.gemspec
74
+ - lib/hostnet.rb
75
+ - lib/hostnet/version.rb
76
+ - rails_generators/hostnet_deploy/USAGE
77
+ - rails_generators/hostnet_deploy/hostnet_deploy_generator.rb
78
+ - rails_generators/hostnet_deploy/templates/Capfile
79
+ - rails_generators/hostnet_deploy/templates/deploy.rb
80
+ - rails_generators/hostnet_email/USAGE
81
+ - rails_generators/hostnet_email/hostnet_email_generator.rb
82
+ - rails_generators/hostnet_email/templates/mail.rb
83
+ - script/console
84
+ - script/destroy
85
+ - script/generate
86
+ - setup.rb
87
+ - tasks/deployment.rake
88
+ - tasks/environment.rake
89
+ - tasks/website.rake
90
+ - test/test_generator_helper.rb
91
+ - test/test_helper.rb
92
+ - test/test_hostnet.rb
93
+ - test/test_hostnet_deploy_generator.rb
94
+ - test/test_hostnet_email_generator.rb
95
+ - tutoriais/001-meu-primeiro-deploy-de-aplicacao-rails-para-a-hostnet/tutorial.mkdn
96
+ has_rdoc: true
97
+ homepage: http://github.com/mergulhao/hostnet
98
+ post_install_message: ""
99
+ rdoc_options:
100
+ - --main
101
+ - README.txt
102
+ require_paths:
103
+ - lib
104
+ required_ruby_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: "0"
109
+ version:
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: "0"
115
+ version:
116
+ requirements: []
117
+
118
+ rubyforge_project: hostnet
119
+ rubygems_version: 1.2.0
120
+ signing_key:
121
+ specification_version: 2
122
+ summary: "gem oficial para suporte a deploy de aplica\xC3\xA7\xC3\xB5es"
123
+ test_files:
124
+ - test/test_helper.rb
125
+ - test/test_generator_helper.rb
126
+ - test/test_hostnet.rb
127
+ - test/test_hostnet_deploy_generator.rb
128
+ - test/test_hostnet_email_generator.rb