Konfigurieren des CI- und VPS-Servers von gitlab.com

Bild
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:

  • Dockerfile
    FROM nginx:latest
    COPY html /var/www/html
    COPY nginx.conf /etc/nginx/nginx.conf


  • nginx.conf
    events {}
    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

Bild

Klicken Sie dann auf Läufer, erweitern Sie. Schalten
Bild

Sie zuerst die vorgeschlagenen Läufer aus. - Deaktivieren Sie gemeinsam genutzte Läufer.

Bild

Dann interessieren wir uns für: „Manuellen Einrichten eines bestimmten Läufers“.

Bild

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

Bild

Jetzt müssen Sie kleine Änderungen an der Konfiguration des Läufers vornehmen.

nano /etc/gitlab-runner/config.toml

Feld

volumes = ["/cache"]

ändern

volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]

Bild

Starten Sie den Daemon neu

gitlab-runner restart

Zurück zu gitlab / settings / CI / Runners.

Ein aktiver Läufer sollte angezeigt werden.

Bild

Bearbeiten Sie den Läufer durch Drücken von.

Bild

Erlauben Sie das Ausführen von Aufgaben ohne Tags.

Bild

Führen Sie nun Push-Commits aus und folgen Sie den Jobs.

Bild

Öffnen Sie schließlich den Browser.

Bild

Link zum

PS- 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

All Articles