In diesem Artikel habe ich beschlossen, meine Erfahrungen mit der Konfiguration von gitlab CI und gemietetem VPS zu beschreiben.Hintergrund
Bei der Arbeit, UV. DevOps hat mir eine Bereitstellung von Projekten in Kubernetes konfiguriert ( ich arbeite als Go-Entwickler ). Ich habe mein eigenes Haustierprojekt - und ich wollte automatisieren, aber es gab keinen besonderen Wunsch, mein Gitlab zu erhöhen (VPS ist sowieso kein Gummi).Ausgangsdaten
Repository erstellen
Wir erstellen das Repository, das wir automatisieren möchten.Ich entschied mich für Tests, um Docker mit Nginx zu erhöhen und an die HTML-Seite weiterzuleiten.Repository-Struktur: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
Repository-Setup
Einstellungen öffnen -> CI
Klicken Sie dann auf Läufer, erweitern Sie. Schalten
Sie zuerst die vorgeschlagenen Läufer aus. - Deaktivieren Sie gemeinsam genutzte Läufer.
Dann interessieren wir uns für: „Manuellen Einrichten eines bestimmten Läufers“.
Wir kopieren den Token, in Zukunft werden wir ihn benötigen.VPS-Vorbereitung
Installieren Sie Docker .Installieren Sie den Gitlab-Runner .Registrieren Sie einen neuen Läufer.! Geben Sie im Executor-Feld die Docker-Version an, wie in der Docker-Datei!
Geben Sie im Feld Token das Token an, an das sich gitlab erinnert hat
gitlab-runner register
Jetzt müssen Sie kleine Änderungen an der Konfiguration des Läufers vornehmen.nano /etc/gitlab-runner/config.toml
Feldvolumes = ["/cache"]
ändernvolumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
Starten Sie den Daemon neugitlab-runner restart
Zurück zu gitlab / settings / CI / Runners.Ein aktiver Läufer sollte angezeigt werden.
Bearbeiten Sie den Läufer durch Drücken von.
Erlauben Sie das Ausführen von Aufgaben ohne Tags.
Führen Sie nun Push-Commits aus und folgen Sie den Jobs.
Öffnen Sie schließlich den Browser.
Link zumPS- Repository : Ich bin auf ein Problem gestoßen - ich hatte ein zusammengestelltes Bild von innen, das keinen Zugriff auf ein externes Netzwerk hatte. Die Lösung ist Erstellen Sie die Datei /etc/docker/daemon.json :{
"dns": ["8.8.4.4", "8.8.8.8"]
}
service docker restart