|
||
---|---|---|
app | ||
bin | ||
config | ||
db | ||
lib | ||
log | ||
public | ||
storage | ||
test | ||
tmp | ||
vendor | ||
.dockerignore | ||
.gitignore | ||
.gitlab-ci.yml | ||
.rubocop.yml | ||
.woodpecker.yml | ||
Capfile | ||
config.ru | ||
Dockerfile | ||
entrypoint.sh | ||
env.example | ||
Gemfile | ||
Gemfile.lock | ||
Makefile | ||
monit.conf | ||
Rakefile | ||
README.md |
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:
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.) -
Instalar Ruby 2.6.5 usando rbenv y ruby-build
-
Con Ruby 2.6.5 activado, instalar bundler con
gem install bundler
-
Clonar este repositorio y dentro del directorio, correr
bundle
para instalar las gemas. -
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) enlumi@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.
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 (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.
ssh-copy-id -i ~/.ssh/lumi lumi@partidopirata.com.ar