Requisitos:
- Mac
- Xcode
- Homebrew
- Cartão de crédito internacional
No Mac, instale o Homebrew (https://brew.sh).
Abra o Terminal e execute o seguinte comando:
brew install vapor
Navegue para a pasta na qual você costuma guardar seus projetos (aqui cd user/Projetos
) e rode o comando:
vapor new minha-api
Responda as perguntas do assistente. Fluent = y, db = SQLite, Leaf = n
Project minha-api has been created!
Hora de abrir o projeto.
cd minha-api
open Package.swift
Parabéns, você criou o seu primeiro projeto de API com Vapor!
Procure por routes.swift
no projeto para ver as rotas da API e rode-o (Play do Xcode) para vê-lo no navegador local (http://127.0.0.1:8080).
No painel do seu Linode, copie o Acesso SSH e cole no Terminal. Dê Return.
Exemplo:
ssh root@139.144.29.51
Ele vai perguntar se deseja confiar na finregprint. Confie e então digite a senha do root configurada anteriormente.
Assim que estiver logado, digite o seguinte comando para puxar as últimas atualizações de pacotes:
sudo apt update
Tela rosa: Tab para ir para o Ok
Por favor, siga os passos desse outro Gist para instalar o Swift na VM. Ele é essencial para continuar.
https://gist.github.com/rafaelclaycon/276e3b70e3f265851a5ec695e0933e50
Garanta que você está dentro do diretório do seu usuário na VM remota e rode:
git clone https://github.com/meu-usuario-do-github/minha-api
Primeiro é necessário instalar algumas dependências do Vapor:
sudo apt-get install openssl libssl-dev zlib1g-dev libsqlite3-dev
Garanta que você está dentro da pasta do projeto e, finalmente:
swift build
O resultado esperado é:
Build complete!
Antes de tudo, rode:
sudo ufw allow http
E então, estando dentro do diretório do projeto:
screen .build/debug/Run serve --hostname 0.0.0.0 --env production
Se tudo der certo, seu servidor está rodando!
screen é um utilitário do Linux que nos permite rodar o processo e "desgrudar" dele sem encerrar.
Depois de iniciar o servidor, pressione Ctrl-A e então Ctrl-D pra desgrudar do processo do servidor.
No navegador local, digite http://<<ip-da-vm>>:8080
para testar o servidor (substitua <<ip-da-vm>>
pelo IP da sua VM do Linode).
Caso tenha sucesso, o texto It works!
irá parecer no navegador.
Para rodar as migrations no Linux, é necessário ter a toolbox do Vapor instalada.
Volte para a pasta de projetos e:
git clone https://github.com/vapor/toolbox.git
cd toolbox
Agora vamos precisar instalar o make:
apt install make
Na pasta da toolbox, rode:
make install
E por fim, sempre que criar novos objetos na API (e, por consequência, migrations), rode (de dentro do diretório do projeto):
vapor run migrate
Daqui pra frente, basta criar novos endpoints na tua API, subir as alterações para o GitHub e dar pull nelas na VM.