Last active
December 20, 2018 17:57
-
-
Save gdomiciano/ece255cd5c53feaab64b41dc39656366 to your computer and use it in GitHub Desktop.
GitLab CI configuration for Nuxt.js Deployment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Passos que o seu Servidor de CI deverá seguir (test/build/deploy) | |
stages: | |
- deploy | |
# nome da tarefa do CI | |
deploy_prod: | |
# Passo a que esta tarefa pertence | |
stage: deploy | |
# definição de comandos necessários para essa tarefa | |
script: | |
# adiciona a aplicação do dokku e seus branches no arquivo de configuração do git | |
- git config --add remote.dokku.url dokku@$SERVER_IP:<nome-da-aplicação> | |
- git config --add remote.dokku.fetch +refs/heads/*:refs/remotes/dokku/* | |
# verifica se seu container atual possui ssh, caso contrário instala | |
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' | |
# inicia o ssh-agent em background | |
- eval $(ssh-agent -s) | |
# cria a pasta de ssh | |
- mkdir -p ~/.ssh | |
# cria o arquivo de ssh config para ignorar o passo de verificar se é pra adicionar a atual ssh ao arquivo de known_hosts | |
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' | |
- chmod 400 ~/.ssh/ | |
# Cria o arquivo de chave pública | |
- touch ~/.ssh/id_rsa.pub | |
# copia o conteudo da chave pública do gitlab CI para o arquivo criado | |
- echo "$PUBLIC_KEY" >> ~/.ssh/id_rsa.pub | |
# inclui a chave privada | |
- ssh-add <(echo "$PRIVATE_KEY") | |
# faz o push no droplet para que o deploy seja realmente iniciado | |
- git push dokku master | |
# define em quais branches essa tarefa deverá ser executada | |
only: | |
- master |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment