Neste artigo, decidi descrever minha experiência com a configuração do IC do gitlab e do VPS alugado.fundo
No trabalho, uv. O DevOps 'configurou uma implantação de projetos no kubernetes para mim ( trabalho como desenvolvedor Go ). Eu tenho meu próprio projeto de estimação - e eu queria automatizar, mas não havia nenhum desejo específico de aumentar meu gitlab (o VPS não é de borracha de qualquer maneira).Dados iniciais
Criar Repositório
Criamos o repositório que queremos automatizar.Decidi fazer testes para aumentar o docker com nginx e encaminhar para a página html.Estrutura do repositório:DockerfileFROM nginx:latest
COPY html /var/www/html
COPY nginx.conf /etc/nginx/nginx.conf
nginx.confevents {}
http {
server {
listen 80;
location / {
root /var/www/html;
}
}
}
- html
index.html<html>
<h1>Hello, Runner!</h1>
</html>
.gitlab-ci.yml
image: docker:19.03.8
before_script:
- docker info
build:
stage: build
script:
- docker build -t hellorunner .
deploy:
stage: deploy
script:
- docker ps --filter name=hellorunner --quiet | xargs --no-run-if-empty docker stop | xargs --no-run-if-empty docker rm
- docker run -d --restart=always --name hellorunner -p 8090:80 hellorunner
after_script:
- docker system prune -f
Configuração do Repositório
Abra as configurações -> CI
Em seguida, clique em Corredores, expanda.Primeiro
, desative os corredores propostos - Desativar corredores compartilhados
Em seguida, estamos interessados em - “Configurar manualmente um corredor específico”
. Copiamos o token, no futuro precisaremos dele.Preparação VPS
Instale a janela de encaixe .Instale o gitlab-runner .Registre um novo corredor.! No campo executor, especifique a versão do docker, como no Dockerfile!
No campo token, especifique o token que foi lembrado no gitlab
gitlab-runner register
Agora, você precisa fazer pequenas alterações na configuração do corredor.nano /etc/gitlab-runner/config.toml
campovolumes = ["/cache"]
mudar paravolumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
Reiniciando o daemongitlab-runner restart
Voltar ao gitlab / settings / CI / Runners novamente.Um corredor ativo deve aparecer.
Edite o corredor, pressionando.
Permita executar tarefas sem tags.
Agora execute push commit e siga as tarefas.
E, finalmente, abra o navegador.
Link para o repositórioPS: Encontrei um problema - eu tinha uma imagem montada por dentro que não tinha acesso a uma rede externa, a solução é crie o arquivo /etc/docker/daemon.json :{
"dns": ["8.8.4.4", "8.8.8.8"]
}
service docker restart