2020-02-22 17:08:41 +00:00
|
|
|
# Miniloom API
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-03-02 16:58:28 +00:00
|
|
|
**Antes que nada solicitar la "master key" de Rails a otrx pirata
|
|
|
|
y colocarla en `config/master.key`.**
|
|
|
|
|
|
|
|
Si estás forkeando o solo trabajando localmente, podés eliminar
|
|
|
|
`config/credentials.yml.enc` y volverlo a crear con:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
bundle exec rails credentials:edit
|
|
|
|
secret_key_base: "Reemplazar con bundle exec rake secret"
|
|
|
|
vapid:
|
|
|
|
public_key: "Correr bundle exec rake webpush:vapid"
|
|
|
|
private_key: "Correr bundle exec rake webpush:vapid"
|
|
|
|
```
|
|
|
|
|
|
|
|
## Desarrollo
|
|
|
|
|
2020-02-22 17:08:41 +00:00
|
|
|
* Instalar las herramientas de compilación de la distro
|
|
|
|
(`build-essential`, `base-devel`, etc.)
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-02-22 17:08:41 +00:00
|
|
|
* Instalar Ruby 2.6.5 usando [rbenv](https://github.com/rbenv/rbenv)
|
2020-02-26 15:50:17 +00:00
|
|
|
y [ruby-build](https://github.com/fauno/ruby-build)
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-02-22 17:08:41 +00:00
|
|
|
* Con Ruby 2.6.5 activado, instalar bundler con `gem install bundler`
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-02-22 17:08:41 +00:00
|
|
|
* Clonar este repositorio y dentro del directorio, correr `bundle` para
|
|
|
|
instalar las gemas.
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-02-22 17:08:41 +00:00
|
|
|
* Crear o actualizar la base de datos con `bundle exec rake db:migrate`
|
2019-04-05 20:20:20 +00:00
|
|
|
|
2020-02-24 01:29:10 +00:00
|
|
|
* Correr el servidor de prueba con `bundle exec rails server -b 0.0.0.0`
|
2020-03-02 16:58:28 +00:00
|
|
|
|
|
|
|
## Despliegue
|
|
|
|
|
|
|
|
### Manual
|
|
|
|
|
|
|
|
* Generar una llave SSH con `ssh-keygen -t ed25519` (la contraseña es
|
|
|
|
opcional)
|
|
|
|
|
|
|
|
* Solicitar a otra pirata que agregue tu llave pública SSH
|
|
|
|
(`~/.ssh/id_ed25519.pub` por ejemplo) en `lumi@partidopirata.com.ar`.
|
|
|
|
|
|
|
|
* Correr `bundle exec cap production deploy`
|
|
|
|
|
|
|
|
### Automático (CI/CD)
|
|
|
|
|
|
|
|
* Editar `.gitlab-ci.yml` si es necesario
|
|
|
|
|
|
|
|
* Generar una llave privada SSH para el deploy y convertirla a una sola
|
|
|
|
línea para que Gitlab la acepte.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
ssh-keygen -t ed25519 -f ~/.ssh/lumi
|
|
|
|
# Extraer la llave privada a una sola línea
|
|
|
|
cat ~/.ssh/lumi | tail -n +2 | head -n -1 | tr -d "\n"
|
|
|
|
```
|
|
|
|
|
|
|
|
* En [0xacab](https://0xacab.org/) (o cualquier Gitlab con CI/CD
|
|
|
|
habilitado) ir a Settings > CI/CD > Variables y crear las variables
|
|
|
|
protegidas y enmascaradas:
|
|
|
|
|
|
|
|
RAILS_MASTER_KEY: con el contenido de `config/master.key`
|
|
|
|
|
|
|
|
SSH_PRIVATE_KEY: la línea de la llave privada SSH
|
|
|
|
|
|
|
|
* Agregar la llave privada a `lumi@partidopirata.com.ar` para que GL
|
|
|
|
pueda ingresar.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
ssh-copy-id -i ~/.ssh/lumi lumi@partidopirata.com.ar
|
|
|
|
```
|