hostnet 0.1.1

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.
@@ -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.
@@ -0,0 +1,14 @@
1
+ Configurando sua aplicação para enviar e-mails
2
+ ==============================================
3
+
4
+ 1. Você deve possuir a gem da Hostnet instalada. Se você não possui, execute:
5
+
6
+ gem install mergulhao-hostnet --source=http://gems.github.com
7
+
8
+ 2. Crie no seu painel da Hostnet uma conta que será usada pelo ActionMailer do Rails para o envio de e-mails
9
+
10
+ 3. Na raiz do seu projeto execute:
11
+
12
+ hostnet --email mailer_username mailer_password seu_dominio.com
13
+
14
+ Sua aplicação já está configurada para enviar e-mails utilizando smtp da Hostnet!
@@ -0,0 +1,29 @@
1
+ Dicas para administracao e debug de sua aplicacao rails
2
+ =======================================================
3
+
4
+ Todas as dicas supõe que você fez upload de sua aplicação utilizando o Capistrano configurado a partir da gem oficial da Hostnet.
5
+
6
+ * Logs
7
+
8
+ 1. **Meu arquivo de log está ocupando muito espaço da minha hospedagem. O que fazer?**
9
+
10
+ Você deve zerar o seu arquivo de log regularmente para evitar que ele consuma todo o espaço da sua hospedagem. Basta executar o comando:
11
+
12
+ cap log:clean
13
+
14
+ 2. **Como ver o log de produção da minha aplicação?**
15
+
16
+ Para facilitar essa tarefa de debug temos uma task do Capistrano. Basta executar:
17
+
18
+ cap log:tail
19
+
20
+ * Deploy
21
+
22
+ 1. **Preciso fazer o restart da minha aplicação, o que fazer?**
23
+
24
+ cap deploy:restart
25
+
26
+ 2. **Ao subir a minha aplicação, preciso rodar _cap deploy:migrations_ para executar as migrations?**
27
+
28
+ Não. A receita de deploy da Hostnet efetua essa tarefa automaticamente.
29
+
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hostnet
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Sylvestre Mergulhao
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-10-07 00:00:00 -03:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rubigen
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.3.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: capistrano
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.5.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: archive-tar-minitar
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.5.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: hoe
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.7.0
54
+ version:
55
+ description: "gem oficial para suporte a deploy de aplica\xC3\xA7\xC3\xB5es"
56
+ email:
57
+ - contato@mergulhao.info
58
+ executables:
59
+ - hostnet
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - History.txt
64
+ - Manifest.txt
65
+ - README.txt
66
+ files:
67
+ - History.txt
68
+ - LICENSE
69
+ - Manifest.txt
70
+ - README.txt
71
+ - Rakefile
72
+ - TODO
73
+ - bin/hostnet
74
+ - config/hoe.rb
75
+ - config/requirements.rb
76
+ - hostnet.gemspec
77
+ - lib/hostnet.rb
78
+ - lib/hostnet/version.rb
79
+ - rails_generators/hostnet_deploy/USAGE
80
+ - rails_generators/hostnet_deploy/hostnet_deploy_generator.rb
81
+ - rails_generators/hostnet_deploy/templates/Capfile
82
+ - rails_generators/hostnet_deploy/templates/deploy.rb
83
+ - rails_generators/hostnet_email/USAGE
84
+ - rails_generators/hostnet_email/hostnet_email_generator.rb
85
+ - rails_generators/hostnet_email/templates/mail.rb
86
+ - script/console
87
+ - script/destroy
88
+ - script/generate
89
+ - setup.rb
90
+ - tasks/deployment.rake
91
+ - tasks/environment.rake
92
+ - tasks/website.rake
93
+ - test/test_generator_helper.rb
94
+ - test/test_helper.rb
95
+ - test/test_hostnet.rb
96
+ - test/test_hostnet_deploy_generator.rb
97
+ - test/test_hostnet_email_generator.rb
98
+ - tutoriais/001-meu-primeiro-deploy-de-aplicacao-rails-para-a-hostnet/tutorial.mkdn
99
+ - tutoriais/002-configurando-sua-aplicacao-para-enviar-e-mails/tutorial.mkdn
100
+ - tutoriais/003-dicas-para-administracao-e-debug-de-sua-aplicacao-rails/tutorial.mkdn
101
+ has_rdoc: true
102
+ homepage: http://github.com/mergulhao/hostnet
103
+ post_install_message: ""
104
+ rdoc_options:
105
+ - --main
106
+ - README.txt
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: "0"
114
+ version:
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: "0"
120
+ version:
121
+ requirements: []
122
+
123
+ rubyforge_project: hostnet
124
+ rubygems_version: 1.2.0
125
+ signing_key:
126
+ specification_version: 2
127
+ summary: "gem oficial para suporte a deploy de aplica\xC3\xA7\xC3\xB5es"
128
+ test_files:
129
+ - test/test_helper.rb
130
+ - test/test_generator_helper.rb
131
+ - test/test_hostnet.rb
132
+ - test/test_hostnet_deploy_generator.rb
133
+ - test/test_hostnet_email_generator.rb