diff --git a/README.md b/README.md index c12d4af..418254f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,21 @@ # Miniloom API +**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 + * Instalar las herramientas de compilación de la distro (`build-essential`, `base-devel`, etc.) @@ -14,3 +30,43 @@ * Crear o actualizar la base de datos con `bundle exec rake db:migrate` * Correr el servidor de prueba con `bundle exec rails server -b 0.0.0.0` + +## 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 +```