Métodos de deploy

Sete formas de buildar e fazer deploy.

O Railyard escolhe o caminho de build que seu repositório precisa. Tudo o que vem depois do build, do release ao rollback, funciona do mesmo jeito para todos eles.

image:// dockerfile railpack cnb nixpacks build server Procfile imagem release health check no ar
Todo método de build termina em uma imagem. A partir daí, uma única linha até a produção.
MétodoFonteO que rodaStatus
image:// Uma tag de registry Pull e execução. Sem clone, sem build. lançado
dockerfile Um repositório com Dockerfile Clone, docker build, execução. lançado
railpack Um repositório, sem Dockerfile (o padrão) O Railpack detecta a linguagem e builda uma imagem. Sem configuração. lançado
cnb Um repositório, sem Dockerfile pack build sobre heroku/builder:24, depois execução. lançado
nixpacks Um repositório, sem Dockerfile O Nixpacks escreve um Dockerfile, e o build segue normalmente. lançado
build server Qualquer método de repositório Builda uma vez num servidor dedicado, depois roda em qualquer lugar da sua frota. lançado
Procfile Um repositório com Procfile Declara os processos web e worker mais o release hook. lançado

Um pipeline só

Um pipeline só para cada método de build.

Imagem, Dockerfile, buildpacks, Nixpacks ou Procfile: cada caminho produz uma imagem. A partir daí o deploy é o mesmo, incluindo um redeploy rápido do mesmo commit.

  • Variáveis de configuração exportadas para o build
  • O release hook roda antes do tráfego mudar
  • Verificação de prontidão, depois uma troca sem downtime

$ git push railyard main

Enumerating objects: 12, done.

remote: Buildando storefront (Dockerfile)

remote: #7 RUN bundle install

remote: #9 RUN bin/rails assets:precompile

remote: Release: bin/rails db:migrate

remote: Health check passou (GET /up 200)

remote: No ar, o tráfego passou para a nova release

a1b2c3d..e4f5a6b main -> main

Todo build

As mesmas funções de build, em todo método.

Variáveis de config no momento do build

Exportadas para o build do jeito que a maioria das plataformas faz, para que um precompile de assets que inicia a app encontre a URL do banco de dados.

Repositórios privados e submódulos

Conecte o GitHub uma vez; repositórios privados e seus submódulos são clonados automaticamente, limitados aos repositórios que você conectar.

Build args e secrets

Passe argumentos de build e secrets para dentro do build sem gravá-los na imagem.

Volumes persistentes

Volumes nomeados num caminho que você escolhe, nunca apagados por um redeploy.

Addons, já conectados

Postgres com pgvector, MySQL, Redis, Memcached e armazenamento de objetos, com strings de conexão injetadas.

Release hooks

As migrações rodam antes da nova versão receber tráfego; uma falha interrompe o deploy.

Sites estáticos e funções

Um build estático é servido com HTTPS automático; as funções são algumas linhas de TypeScript, editadas no Canvas.

Templates e um botão de deploy

Cerca de 200 templates de um clique, e um badge de README que abre um deploy pré-preenchido.

Comprovado em software comercial: o Campfire, produto pago da 37signals em Rails 8, roda tanto pelo caminho do Dockerfile quanto por buildpacks.

Faça o deploy do seu primeiro app em um servidor que é seu.

Conecte uma máquina com um host, um usuário e uma chave SSH, ou deixe a Railyard criar uma na sua conta de nuvem. Ela instala o resto e acompanha até a app entrar no ar.

Plano grátis, sem cartão, e 14 dias de Pro para cada equipe nova. Um preço fixo por equipe.