Рубрики
Uncategorized

Integação e entrega contínuas (CI / CD) de сайт estático em servidor linux usando gitlab

QUANDO ESTAMOS TRABALHANDO EM ALGUMA EMPRESA OU Projeto, É UMA Prática Comum Enterarmos Rapide нет… Теги с DevOps, Gitlab, начинающими.

QUANDO ESTAMOS TRABALHANDO EM ALGUMA EMPRESA OU PROJETO, É UMA Prática Comum Enterarmos Rapidemente Нет Espírito de Equipe, Que Normormente Acontece Devido à Appleação de Metodogies ágeis, Ou, Em Um Estágio Mais Avançado, COM UMA Cultura DevOps Mais Encorpada.

Mas, Naqueles Projetos Pessoais, Muitas Vezes Máxima «Em Casa de Ferreiro, Espeto de Pau», Também É UMA Realidade. Как Razões Podem Ser Várias, Mas Geralmente Há Aquela Noção de Que Os Demais Projetos E Atividades Têm Prioridade No Uso Do Tempo.

O Результат, Muitas Vezes, é desorganização que Poe Covear Perda de Tempo, Dados E, COM ISSO, Dinheiro.

Então, Nessa Ideia de «arramar a casa», Вы Masterar Como Extremeei o Ci/Cd de Um de Meus Projetos, O Gunbot Brasil Отказ Трубопровод E é ConceiTo é Applevel Para Qualkquer Site Estático, Hospedado Em UM Servidor Linux.

Порка Explomyar o CI/CD?

Сан-inúmeras As Vantagens EM Relação Ao развертывание руководства, MAS, NA Minha Mankião, AS Crussais São:

  • Усандо верстаменто де Аркиво, Mesmo que acorra algum flancea com última versão, Basta Voltar Ao Compeed Anderior;
  • Ganho de Tempo Através Da Automação;
  • Менос Муданчас нет Código.

COMO Implitear o CI/CD?

  • Usei o Gitlab Tanto Para Hospedagem dos arquivos Нет Repositório, Quanto Para A Alloginação da Integração e entrega contínuas;
  • O Сайт Está Hospedado Нет Hostgator, Mas Poderia Ser EM Qualkquer Outro Host Provider;
  • Shotamos Que o Acesso Ao Servidor é Feito через SSH Key, SEM Password ;
  • Git Está Instalado Нет сервидора.

1 — Криар Репоситорио Нет Gitlab E Subir OS Arquivos Do сайт

  • Já logado no gitlab, клика EM ‘New Project’> «Создать пустой проект»;
  • Информ oome do Projeto, que também criará slug do Repositório;
  • Определить визуализацию. COMO E UM Projeeto привадоа, о репоситорио Уив Серь Маркадо Комо «Частный»;
  • Клика EM «Создать проект».

COMO o Repositório Está Vazio, Próxima Tela Mostra Ase Alternativas de Comandos Disponíveis.

Utilizaremos OS Seguintes Comandos abaixo, подставуиндо ОС Campos EM ‘<>’ COM SEUS PROSOIOS Valores: Ex: Git Remote Добавить Git@gitlab.com: / .git Git Remote Добавить Git@gitlab.com: xjuggl3r/meu-сайт.git

git config --global user.name ""
git config --global user.email ""

cd 
git init
git remote add origin git@gitlab.com:/.git
git add .
git commit -m "Initial commit"
git push -u origin --all

2 — Gerar Chaves SSH

3 — Cadastrar Shave SSH нет gitlab.

  • Нет GitLab, EM SEU Projeto, VA EM ‘Настройки’> ‘CI/CD’> ‘Переменные’
  • Adicione UMA Nova Variável Ssh_private_key Отказ O Valor é Sua Shave Privada SSH (Por Exemplo, Conteúdo de ~/.ssh/id_rsa).

Advailando O CI/CD

  • Criem Arquivo .gitlab-ci.yml Na Raíz Do Seu Projeto, COM O Seguinte Conteúdo (Modifisando As Linhas Com Comentários Ao Lado):
before_script:
  - apt-get update -qq
  - apt-get install -qq git
  # Setup SSH deploy keys
  - 'which ssh-agent || ( apt-get install -qq openssh-client )'
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

deploy_staging:
  type: deploy
  environment:
    name: staging
    url: example.com #sua-url
  script:
    - ssh root@example.com "cd var/www/ && git checkout master && git pull origin master && exit" # modifique o usuário, url e diretório do site
  only:
    - master

Caso O Развертывание Seja à Partir de Outro Филиал, Modififar de Acordo. Nesse Exemplo, Usamos o Филиал «Мастер».

SE TUDO ESTIVER Correto, Agora Basta Fazer O толчок E A A Tibry Será Ativada, Gerando Um Job E Atualizando O Site No Servidor De Origine.

NOTA: O Projeto Em Seu Servidor Deve Ter Sido Insiblemente Clonado de Seu Repositório через Git Remote Добавить ... E SINCRONIZADO.

Оригинал: «https://dev.to/xjuggl3r/integracao-e-entrega-continuas-ci-cd-de-site-estatico-em-servidor-linux-usando-gitlab-3kbb»