Comandos comuns
Os comandos que você usa todo dia. A referência completa tem a lista inteira.
Deploy
goship deploy # o diretório atual, sem configuração nenhuma
goship deploy --platform python # quando a dedução automática errar
goship deploy --env-file .env # com segredos de um arquivo dotenv
goship deploy -m "ajuste no cache" # com mensagem de deploy
goship deploy --environment production # em produção, só neste comandoO deploy vai para o ambiente que o CLI escolheu: sem nada, o padrão da organização, que é desenvolvimento.
Na primeira vez a app é criada sozinha: o nome vem do diretório e a plataforma
dos arquivos presentes. Um goship.yaml (ou .goship.yaml) é opcional —
serve pra fixar esses valores e parar de repetir flag:
app: meu-app
platform: go
plan: app-small-sandboxed
env:
LOG_LEVEL: infoA ordem de precedência é: flag > arquivo > dedução.
O plano -sandboxed existe no cluster GoShip e nas máquinas que o GoShip monta; num Kubernetes conectado não há sandbox. goship plans mostra os planos do ambiente em que você está.
Ambientes
Cada ambiente (desenvolvimento, homologação, produção e os que você criar) aponta pra um cluster. Os comandos agem no ambiente em uso (Ambientes):
goship environments # os ambientes da organização e o cluster de cada um
goship environment enable staging # administrador: ativa a homologação, que nasce desativada
goship environment use staging # os próximos comandos deste projeto usam homologação
goship environment create qa --cluster meu-cluster
goship environment rm qa # pede confirmação; --yes pulaA ordem em que o CLI escolhe o ambiente está em Login, organização, projeto e ambiente.
Clusters
goship clusters # os clusters da organização
goship cluster create meu-cluster --cloud minha-conta --region nyc3 --size s-2vcpu-4gb
goship cluster info meu-clustergoship cluster create também conecta uma máquina sua (--host, --ssh-key) ou um Kubernetes (--kubeconfig); --environment <slug> aponta um ambiente que já existe para o cluster novo. O comando goship node foi substituído por goship cluster. Veja Clusters.
Ver o que está no ar
goship apps # os apps do ambiente em uso
goship apps -A # todos os que você alcança, em seções org/projeto/ambiente
goship app info meu-app
goship logs -a meu-app -fCom -A (e em goship dbs -A e goship volumes -A), um ambiente que você não alcança é pulado, com uma nota. Quando o projeto não foi escolhido e a organização tem vários, goship app info meu-app procura o app em todos os projetos e ambientes; --environment limita a busca a um ambiente. Se o nome existe em vários, escolha com --org, --project e --environment.
Variáveis de ambiente
goship env list -a meu-app
goship env set DATABASE_URL=postgres://... -a meu-app
goship env unset DEBUG -a meu-appgoship env é só das variáveis de ambiente de um app. Os ambientes do GoShip, como desenvolvimento, homologação e produção, são goship environment e goship environments.
Escala
goship app scale meu-app --units 3
goship app plan meu-app app-medium-sandboxed # goship plans lista os do ambienteBanco
goship db create meu-banco --plan db-micro
goship db bind meu-banco -a meu-appO banco nasce no ambiente em uso, no servidor padrão dele, e só se liga a apps do mesmo ambiente. --server escolhe outro servidor pra um banco só. O plano vale pro PostgreSQL do GoShip; num servidor seu o banco não tem plano (Provisionar).
Domínio próprio
goship domain add meu-app.com.br -a meu-appQuando algo dá errado
goship logs -a meu-app -l 200
goship run -a meu-app -- env
goship releases -a meu-app # lista as versões
goship rollback 12 -a meu-app # volta pra versão 12