Openshift
Version 28 (Guillermo Gómez, 03/03/2012 04:14 am)
| 1 | 1 | Guillermo Gómez | h1. Openshift |
|---|---|---|---|
| 2 | 1 | Guillermo Gómez | |
| 3 | 1 | Guillermo Gómez | {{toc}} |
| 4 | 1 | Guillermo Gómez | |
| 5 | 1 | Guillermo Gómez | h2. Instalación herramientas cliente |
| 6 | 1 | Guillermo Gómez | |
| 7 | 3 | Guillermo Gómez | *Fedora* |
| 8 | 1 | Guillermo Gómez | <pre> |
| 9 | 17 | Guillermo Gómez | $ su -c "yum install rubygem-rhc" |
| 10 | 2 | Guillermo Gómez | </pre> |
| 11 | 2 | Guillermo Gómez | |
| 12 | 2 | Guillermo Gómez | *YUM* |
| 13 | 2 | Guillermo Gómez | <pre> |
| 14 | 1 | Guillermo Gómez | $ su - |
| 15 | 1 | Guillermo Gómez | <contraseña> |
| 16 | 1 | Guillermo Gómez | # cd /etc/yum.repos.d/ |
| 17 | 1 | Guillermo Gómez | # wget https://openshift.redhat.com/app/repo/openshift.repo |
| 18 | 1 | Guillermo Gómez | # yum install rhc |
| 19 | 2 | Guillermo Gómez | </pre> |
| 20 | 2 | Guillermo Gómez | |
| 21 | 2 | Guillermo Gómez | *rubygems* |
| 22 | 2 | Guillermo Gómez | <pre> |
| 23 | 2 | Guillermo Gómez | $ su -c "gem install rhc" |
| 24 | 1 | Guillermo Gómez | </pre> |
| 25 | 1 | Guillermo Gómez | |
| 26 | 20 | Guillermo Gómez | {{include(rhc-create-domain)}} |
| 27 | 1 | Guillermo Gómez | |
| 28 | 21 | Guillermo Gómez | {{include(rhc-create-app)}} |
| 29 | 1 | Guillermo Gómez | |
| 30 | 1 | Guillermo Gómez | h2. Agregando un gem con bundle |
| 31 | 1 | Guillermo Gómez | |
| 32 | 1 | Guillermo Gómez | Incompleto: |
| 33 | 1 | Guillermo Gómez | |
| 34 | 1 | Guillermo Gómez | <pre> |
| 35 | 1 | Guillermo Gómez | $ vim Gemfile |
| 36 | 1 | Guillermo Gómez | ... |
| 37 | 1 | Guillermo Gómez | gem 'cancan' # gem agregado al Gemfile |
| 38 | 1 | Guillermo Gómez | :wq |
| 39 | 1 | Guillermo Gómez | $ bundle install --no-deployment |
| 40 | 1 | Guillermo Gómez | ... |
| 41 | 1 | Guillermo Gómez | Enter your password to install the bundled RubyGems to your system: xxxxx |
| 42 | 1 | Guillermo Gómez | ... |
| 43 | 1 | Guillermo Gómez | Using bundler (1.0.12) |
| 44 | 1 | Guillermo Gómez | Installing cancan (1.6.5) |
| 45 | 1 | Guillermo Gómez | Using thor (0.14.6) |
| 46 | 1 | Guillermo Gómez | ... |
| 47 | 1 | Guillermo Gómez | </pre> |
| 48 | 1 | Guillermo Gómez | |
| 49 | 1 | Guillermo Gómez | <pre> |
| 50 | 1 | Guillermo Gómez | $ bundle install --deployment |
| 51 | 1 | Guillermo Gómez | Fetching source index for http://rubygems.org/ |
| 52 | 1 | Guillermo Gómez | Fetching source index for http://gems.github.com/ |
| 53 | 1 | Guillermo Gómez | Using rake (0.9.2) |
| 54 | 1 | Guillermo Gómez | Using abstract (1.0.0) |
| 55 | 1 | Guillermo Gómez | ... |
| 56 | 1 | Guillermo Gómez | Using activerecord (3.0.8) |
| 57 | 1 | Guillermo Gómez | Using activeresource (3.0.8) |
| 58 | 1 | Guillermo Gómez | Installing cancan (1.6.5) |
| 59 | 1 | Guillermo Gómez | Using bundler (1.0.12) |
| 60 | 1 | Guillermo Gómez | ... |
| 61 | 1 | Guillermo Gómez | Your bundle is complete! It was installed into ./vendor/bundle |
| 62 | 1 | Guillermo Gómez | $ git add vendor |
| 63 | 1 | Guillermo Gómez | $ git commit |
| 64 | 1 | Guillermo Gómez | $ git push |
| 65 | 1 | Guillermo Gómez | </pre> |
| 66 | 1 | Guillermo Gómez | |
| 67 | 12 | Guillermo Gómez | h2. Rails rake:db:migrate |
| 68 | 11 | Guillermo Gómez | |
| 69 | 11 | Guillermo Gómez | En la medida que vamos desarrollando nuestra aplicación el esquema de la base de datos va cambiando, entonces, ¿cómo ejecutamos rake db:migrate? La técnica es usar *config/environments/production.rb* de la siguiente manera: |
| 70 | 11 | Guillermo Gómez | |
| 71 | 11 | Guillermo Gómez | <pre><code class="ruby"> |
| 72 | 11 | Guillermo Gómez | config.after_initialize do |
| 73 | 11 | Guillermo Gómez | ActiveRecord::Migrator.migrate(RAILS_ROOT + "/db/migrate" ) |
| 74 | 11 | Guillermo Gómez | end |
| 75 | 11 | Guillermo Gómez | </code></pre> |
| 76 | 1 | Guillermo Gómez | |
| 77 | 12 | Guillermo Gómez | Queda pendiente documentar otras técnicas para por ejemplo rehacer la base de datos desde cero, o eliminar la tabla de sesiones entre otras necesidades comunes. |
| 78 | 1 | Guillermo Gómez | |
| 79 | 1 | Guillermo Gómez | h2. Integración git/redmine/openshift |
| 80 | 1 | Guillermo Gómez | |
| 81 | 1 | Guillermo Gómez | Al instalar y configurar openshift, se genera una configuración ssh , una llave específica de seguridad, y un archivo de hosts conocidos. Para poder acceder desde otra máquina, en este caso el servidor Redmine, estoy copiando los archivos correspondientes de configuración. |
| 82 | 1 | Guillermo Gómez | |
| 83 | 1 | Guillermo Gómez | <pre> |
| 84 | 1 | Guillermo Gómez | $ cd ~/.ssh |
| 85 | 1 | Guillermo Gómez | $ cat config |
| 86 | 1 | Guillermo Gómez | |
| 87 | 1 | Guillermo Gómez | # Added by rhc-create-app on mié jun 15 17:22:53 VET 2011 |
| 88 | 1 | Guillermo Gómez | |
| 89 | 1 | Guillermo Gómez | Host *.rhcloud.com |
| 90 | 1 | Guillermo Gómez | IdentityFile ~/.ssh/libra_id_rsa |
| 91 | 1 | Guillermo Gómez | VerifyHostKeyDNS yes |
| 92 | 1 | Guillermo Gómez | StrictHostKeyChecking no |
| 93 | 1 | Guillermo Gómez | UserKnownHostsFile ~/.ssh/libra_known_hosts |
| 94 | 1 | Guillermo Gómez | $ scp config gomix.fedora-ve.org:~/.ssh/ |
| 95 | 1 | Guillermo Gómez | ... |
| 96 | 1 | Guillermo Gómez | $ scp libra_id_rsa gomix.fedora-ve.org:~/.ssh/ |
| 97 | 1 | Guillermo Gómez | ... |
| 98 | 1 | Guillermo Gómez | $ scp libra_known_hosts gomix.fedora-ve.org:~/.ssh/ |
| 99 | 1 | Guillermo Gómez | ... |
| 100 | 1 | Guillermo Gómez | </pre> |
| 101 | 1 | Guillermo Gómez | |
| 102 | 1 | Guillermo Gómez | Ahora en mi servidor Redmine: |
| 103 | 1 | Guillermo Gómez | |
| 104 | 1 | Guillermo Gómez | <pre> |
| 105 | 1 | Guillermo Gómez | $ cd cierto/directorio/accesible |
| 106 | 1 | Guillermo Gómez | $ git clone --bare ssh://0b027ce8ffde4b7eb98e5bd63908ed21@fudcon-gomix.rhcloud.com/~/git/fudcon.git/ |
| 107 | 1 | Guillermo Gómez | Cloning into bare repository fudcon.git... |
| 108 | 1 | Guillermo Gómez | remote: Counting objects: 3470, done. |
| 109 | 1 | Guillermo Gómez | remote: Compressing objects: 100% (2654/2654), done. |
| 110 | 1 | Guillermo Gómez | remote: Total 3470 (delta 705), reused 3220 (delta 635) |
| 111 | 1 | Guillermo Gómez | Receiving objects: 100% (3470/3470), 8.09 MiB | 118 KiB/s, done. |
| 112 | 1 | Guillermo Gómez | Resolving deltas: 100% (705/705), done. |
| 113 | 1 | Guillermo Gómez | </pre> |
| 114 | 1 | Guillermo Gómez | |
| 115 | 1 | Guillermo Gómez | Edite la configuración git: |
| 116 | 1 | Guillermo Gómez | |
| 117 | 1 | Guillermo Gómez | <pre> |
| 118 | 1 | Guillermo Gómez | $ cat config |
| 119 | 1 | Guillermo Gómez | [core] |
| 120 | 1 | Guillermo Gómez | repositoryformatversion = 0 |
| 121 | 1 | Guillermo Gómez | filemode = true |
| 122 | 1 | Guillermo Gómez | bare = true |
| 123 | 1 | Guillermo Gómez | [remote "origin"] |
| 124 | 1 | Guillermo Gómez | url = ssh://0b027ce8ffde4b7eb98e5bd63908ed21@fudcon-gomix.rhcloud.com/~/git/fudcon.git |
| 125 | 1 | Guillermo Gómez | fetch = +refs/heads/*:refs/remotes/origin/* |
| 126 | 1 | Guillermo Gómez | </pre> |
| 127 | 1 | Guillermo Gómez | |
| 128 | 1 | Guillermo Gómez | Solo debería necesitar agregar la línea *fetch*. Luego para refrescar su repositorio local cada quince minutos y a su vez Redmine lo pueda mostrar actualizado: |
| 129 | 1 | Guillermo Gómez | |
| 130 | 1 | Guillermo Gómez | <pre> |
| 131 | 1 | Guillermo Gómez | $ crontab -l |
| 132 | 1 | Guillermo Gómez | */15 * * * * cd /home/gomix/Public/fudcon.git && git fetch && git reset --soft refs/remotes/origin/master |
| 133 | 1 | Guillermo Gómez | </pre> |
| 134 | 1 | Guillermo Gómez | |
| 135 | 1 | Guillermo Gómez | La configuración Redmine es simple, abajo un pantallazo, sólo debe seleccionar el tipo a git y pasarle la ruta al clone git (bare). |
| 136 | 1 | Guillermo Gómez | |
| 137 | 1 | Guillermo Gómez | !git-openshift-redmine.png! |
| 138 | 1 | Guillermo Gómez | |
| 139 | 1 | Guillermo Gómez | Abajo un pantallazo de un proyecto Redmine ejemplo conectado git con Openshift. |
| 140 | 1 | Guillermo Gómez | |
| 141 | 1 | Guillermo Gómez | !redmine-git.png! |
| 142 | 4 | Guillermo Gómez | |
| 143 | 4 | Guillermo Gómez | h2. Herramientas express |
| 144 | 4 | Guillermo Gómez | |
| 145 | 4 | Guillermo Gómez | <pre> |
| 146 | 4 | Guillermo Gómez | /usr/bin/rhc-create-app |
| 147 | 4 | Guillermo Gómez | /usr/bin/rhc-create-domain |
| 148 | 4 | Guillermo Gómez | /usr/bin/rhc-ctl-app |
| 149 | 4 | Guillermo Gómez | /usr/bin/rhc-snapshot |
| 150 | 4 | Guillermo Gómez | /usr/bin/rhc-tail-files |
| 151 | 4 | Guillermo Gómez | /usr/bin/rhc-user-info |
| 152 | 25 | Guillermo Gómez | /usr/bin/rhc-port-forward |
| 153 | 4 | Guillermo Gómez | </pre> |
| 154 | 6 | Guillermo Gómez | |
| 155 | 23 | Guillermo Gómez | {{include(rhc-ctl-app)}} |
| 156 | 8 | Guillermo Gómez | |
| 157 | 7 | Guillermo Gómez | {{include(rhc-domain-info)}} |
| 158 | 21 | Guillermo Gómez | |
| 159 | 24 | Guillermo Gómez | {{include(rhc-tail-files)}} |
| 160 | 10 | Guillermo Gómez | |
| 161 | 28 | Guillermo Gómez | {{include(rhc-port-forward)}} |
| 162 | 28 | Guillermo Gómez | |
| 163 | 27 | Guillermo Gómez | h1. Páginas hijas |
| 164 | 14 | Guillermo Gómez | |
| 165 | 22 | Guillermo Gómez | * [[rhc-create-app]] |
| 166 | 22 | Guillermo Gómez | * [[rhc-create-domain]] |
| 167 | 22 | Guillermo Gómez | * [[rhc-domain-info]] |
| 168 | 22 | Guillermo Gómez | * [[rhc-user-info]] |
| 169 | 22 | Guillermo Gómez | * [[rhc-ctl-app]] |
| 170 | 24 | Guillermo Gómez | * [[rhc-tail-files]] |
| 171 | 25 | Guillermo Gómez | * [[rhc-port-forward]] |
| 172 | 22 | Guillermo Gómez | |
| 173 | 27 | Guillermo Gómez | h1. Referencias |
| 174 | 14 | Guillermo Gómez | |
| 175 | 14 | Guillermo Gómez | * https://www.redhat.com/openshift/kb/kb-e1005-ruby-on-rails-express-quickstart-guide |
