Openshift
Version 22 (Guillermo Gómez, 03/03/2012 03:57 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 | 4 | Guillermo Gómez | </pre> |
| 153 | 6 | Guillermo Gómez | |
| 154 | 6 | Guillermo Gómez | h3. rhc-ctl-app |
| 155 | 6 | Guillermo Gómez | |
| 156 | 4 | Guillermo Gómez | <pre> |
| 157 | 4 | Guillermo Gómez | $ rhc-ctl-app app -h |
| 158 | 4 | Guillermo Gómez | |
| 159 | 4 | Guillermo Gómez | Usage: /usr/bin/rhc-ctl-app |
| 160 | 4 | Guillermo Gómez | Control an OpenShift express app |
| 161 | 4 | Guillermo Gómez | |
| 162 | 4 | Guillermo Gómez | -a|--app application Application name (alphanumeric) (required) |
| 163 | 4 | Guillermo Gómez | -l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login with OpenShift Express access) (Default: guillermo.gomez@gmail.com) |
| 164 | 4 | Guillermo Gómez | -p|--password password RHLogin password (optional, will prompt) |
| 165 | 4 | Guillermo Gómez | -c|--command command (start|stop|restart|reload|status|destroy) |
| 166 | 4 | Guillermo Gómez | -L|--embedded-list List supported embedded cartridges |
| 167 | 4 | Guillermo Gómez | -e|--embed (add-$cartridge|remove-$cartridge) eg: add-mysql-5.1 |
| 168 | 4 | Guillermo Gómez | -b|--bypass Bypass warnings |
| 169 | 4 | Guillermo Gómez | -d|--debug Print Debug info |
| 170 | 4 | Guillermo Gómez | -h|--help Show Usage info |
| 171 | 4 | Guillermo Gómez | </pre> |
| 172 | 4 | Guillermo Gómez | |
| 173 | 4 | Guillermo Gómez | *start* |
| 174 | 5 | Guillermo Gómez | <pre> |
| 175 | 8 | Guillermo Gómez | $ rhc-ctl-app -a fudcon -c start |
| 176 | 8 | Guillermo Gómez | Password: |
| 177 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 178 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 179 | 8 | Guillermo Gómez | API version: 1.1.1 |
| 180 | 8 | Guillermo Gómez | Broker version: 1.1.1 |
| 181 | 8 | Guillermo Gómez | |
| 182 | 8 | Guillermo Gómez | RESULT: |
| 183 | 8 | Guillermo Gómez | Success |
| 184 | 8 | Guillermo Gómez | </pre> |
| 185 | 8 | Guillermo Gómez | |
| 186 | 8 | Guillermo Gómez | *stop* |
| 187 | 8 | Guillermo Gómez | <pre> |
| 188 | 8 | Guillermo Gómez | $ rhc-ctl-app -a fudcon -c stop |
| 189 | 8 | Guillermo Gómez | Password: |
| 190 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 191 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 192 | 8 | Guillermo Gómez | API version: 1.1.1 |
| 193 | 8 | Guillermo Gómez | Broker version: 1.1.1 |
| 194 | 8 | Guillermo Gómez | |
| 195 | 8 | Guillermo Gómez | RESULT: |
| 196 | 8 | Guillermo Gómez | Success |
| 197 | 8 | Guillermo Gómez | </pre> |
| 198 | 8 | Guillermo Gómez | |
| 199 | 8 | Guillermo Gómez | *restart* |
| 200 | 8 | Guillermo Gómez | <pre> |
| 201 | 7 | Guillermo Gómez | $ rhc-ctl-app -a fudcon -c restart |
| 202 | 7 | Guillermo Gómez | Password: |
| 203 | 7 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 204 | 7 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 205 | 7 | Guillermo Gómez | API version: 1.1.1 |
| 206 | 7 | Guillermo Gómez | Broker version: 1.1.1 |
| 207 | 7 | Guillermo Gómez | |
| 208 | 7 | Guillermo Gómez | RESULT: |
| 209 | 7 | Guillermo Gómez | Success |
| 210 | 7 | Guillermo Gómez | </pre> |
| 211 | 7 | Guillermo Gómez | |
| 212 | 8 | Guillermo Gómez | *status* |
| 213 | 8 | Guillermo Gómez | <pre> |
| 214 | 8 | Guillermo Gómez | $ rhc-ctl-app -a fudcon -c status |
| 215 | 8 | Guillermo Gómez | Password: |
| 216 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 217 | 8 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 218 | 8 | Guillermo Gómez | API version: 1.1.1 |
| 219 | 8 | Guillermo Gómez | Broker version: 1.1.1 |
| 220 | 8 | Guillermo Gómez | |
| 221 | 8 | Guillermo Gómez | RESULT: |
| 222 | 8 | Guillermo Gómez | Total Accesses: 0 |
| 223 | 8 | Guillermo Gómez | Total kBytes: 0 |
| 224 | 8 | Guillermo Gómez | Uptime: 44 |
| 225 | 8 | Guillermo Gómez | ReqPerSec: 0 |
| 226 | 8 | Guillermo Gómez | BytesPerSec: 0 |
| 227 | 8 | Guillermo Gómez | BusyWorkers: 1 |
| 228 | 8 | Guillermo Gómez | IdleWorkers: 0 |
| 229 | 8 | Guillermo Gómez | Scoreboard: W.... |
| 230 | 8 | Guillermo Gómez | </pre> |
| 231 | 7 | Guillermo Gómez | |
| 232 | 21 | Guillermo Gómez | {{include(rhc-domain-info)}} |
| 233 | 5 | Guillermo Gómez | |
| 234 | 9 | Guillermo Gómez | h3. rhc-tail-files |
| 235 | 9 | Guillermo Gómez | |
| 236 | 9 | Guillermo Gómez | <pre> |
| 237 | 9 | Guillermo Gómez | $ rhc-tail-files -a fudcon -f fudcon/logs/* -p budhUjvwn6 |
| 238 | 9 | Guillermo Gómez | ... |
| 239 | 9 | Guillermo Gómez | ==> fudcon/logs/error_log-20110712-000000-EST <== |
| 240 | 9 | Guillermo Gómez | from /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/config/application.rb:7 |
| 241 | 9 | Guillermo Gómez | from /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/config/environment.rb:2:in `require' |
| 242 | 9 | Guillermo Gómez | from /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/config/environment.rb:2 |
| 243 | 9 | Guillermo Gómez | from config.ru:3:in `require' |
| 244 | 9 | Guillermo Gómez | from config.ru:3 |
| 245 | 9 | Guillermo Gómez | from /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/vendor/bundle/ruby/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval' |
| 246 | 9 | Guillermo Gómez | from /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/vendor/bundle/ruby/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize' |
| 247 | 9 | Guillermo Gómez | from config.ru:1:in `new' |
| 248 | 9 | Guillermo Gómez | from config.ru:1 |
| 249 | 9 | Guillermo Gómez | /var/lib/libra/0b027ce8ffde4b7eb98e5bd63908ed21/fudcon/deploy/config/environments/production.rb:51: warning: don't put space before argument parentheses |
| 250 | 9 | Guillermo Gómez | ... |
| 251 | 9 | Guillermo Gómez | </pre> |
| 252 | 9 | Guillermo Gómez | |
| 253 | 10 | Guillermo Gómez | *production.log*: para que pueda tener ese log disponible con rhc-tail-files debe realizar el siguiente pequeño ajuste en config/environments/production.rb: |
| 254 | 10 | Guillermo Gómez | |
| 255 | 10 | Guillermo Gómez | <pre><code class="ruby"> |
| 256 | 10 | Guillermo Gómez | paths.log="../logs/production.log" |
| 257 | 10 | Guillermo Gómez | </code></pre> |
| 258 | 10 | Guillermo Gómez | |
| 259 | 10 | Guillermo Gómez | <pre> |
| 260 | 10 | Guillermo Gómez | $ rhc-tail-files -a fudcon -f fudcon/logs/production.log -p budhUjvwn6 |
| 261 | 10 | Guillermo Gómez | Contacting https://openshift.redhat.com |
| 262 | 10 | Guillermo Gómez | Attempting to tail files: fudcon/logs/production.log |
| 263 | 10 | Guillermo Gómez | Use ctl + c to stop |
| 264 | 10 | Guillermo Gómez | |
| 265 | 10 | Guillermo Gómez | Started GET "/" for 41.208.172.156 at Thu Aug 25 02:27:26 -0400 2011 |
| 266 | 10 | Guillermo Gómez | Processing by WelcomeController#index as HTML |
| 267 | 10 | Guillermo Gómez | Redirected to https://cas.ipostel.gob.ve/login?service=http%3A%2F%2Ffudcon-gomix.rhcloud.com%2Fwelcome%2Findex |
| 268 | 10 | Guillermo Gómez | Completed 302 Found in 2ms |
| 269 | 10 | Guillermo Gómez | |
| 270 | 10 | Guillermo Gómez | |
| 271 | 10 | Guillermo Gómez | Started GET "/" for 61.135.249.108 at Thu Aug 25 04:40:38 -0400 2011 |
| 272 | 10 | Guillermo Gómez | Processing by WelcomeController#index as HTML |
| 273 | 10 | Guillermo Gómez | Redirected to https://cas.ipostel.gob.ve/login?service=http%3A%2F%2Ffudcon-gomix.rhcloud.com%2Fwelcome%2Findex |
| 274 | 10 | Guillermo Gómez | Completed 302 Found in 2ms |
| 275 | 10 | Guillermo Gómez | ... |
| 276 | 10 | Guillermo Gómez | </pre> |
| 277 | 14 | Guillermo Gómez | |
| 278 | 22 | Guillermo Gómez | h2. Páginas hijas |
| 279 | 22 | Guillermo Gómez | |
| 280 | 22 | Guillermo Gómez | * [[rhc-create-app]] |
| 281 | 22 | Guillermo Gómez | * [[rhc-create-domain]] |
| 282 | 22 | Guillermo Gómez | * [[rhc-domain-info]] |
| 283 | 22 | Guillermo Gómez | * [[rhc-user-info]] |
| 284 | 22 | Guillermo Gómez | |
| 285 | 21 | Guillermo Gómez | |
| 286 | 19 | Guillermo Gómez | |
| 287 | 14 | Guillermo Gómez | h2. Referencias |
| 288 | 14 | Guillermo Gómez | |
| 289 | 14 | Guillermo Gómez | * https://www.redhat.com/openshift/kb/kb-e1005-ruby-on-rails-express-quickstart-guide |
