Benutzer-Werkzeuge

Webseiten-Werkzeuge


docu:gitlab-ci

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
docu:gitlab-ci [2017/11/23 07:18]
sage
docu:gitlab-ci [2018/05/14 17:43] (aktuell)
sage [Während des Build-Prozesses Zugriff auf anderes Gitlab-Repo gewähren] Namen des Scriptes synchronisiert
Zeile 1: Zeile 1:
 ====== Gitlab CI/CD ====== ====== Gitlab CI/CD ======
  
-Wenn in einem Code Repository eine Datei namens ​''​.gitlab-ci.yml''​​ existiert, so wird GitLab versuchen ​mit Hilfe der darin enthaltenen Anweisungen das Software in dem Projekt zu bauen, evtl. zu testen und bei Erfolg in eine Zielumgebung zu deployen. In der GitLab ​Instanz werden standardmäßig die Build-Processe ​über Kubernetes ​in der  ICC ausgeführt. Für Spezialfälle können ​aber auch eigene ​Build-Runner angebunden werden. ​Einen Überblick über die Möglichkeiten des Gitlab-CI bietet https://​docs.gitlab.com/​​ee/​​ci/​README.html+Gitlab bietet eine automatische Continous Build/​Continous Deployment Pipeline. Damit wird in jedem, entsprend vorbereiteten,​ Projekt nach einer Änderung des Git-Repositories automatisch der Code ausgechecked,​ gebaut, evtl. Tests durchgeführt und in ein ausführbares Format gebracht. Wenn diese Schritte erfolgreich sind, kann das fertige Programm auch in der [[:​docu:​informatikcomputecloud|ICC]] automatisch ausgeführt werden und Messdaten direkt in Gitlab beobachtet werden. 
 + 
 +Im Wurzelverzeichnis eines Projektes muss die Datei ''​.gitlab-ci.yml'' ​existieren. Diese wird dann mit im gemeinsamen ​GitLab-Runner ​über Kubernetes ​innerhalb ​der ICC ausgeführt. Für Spezialfälle können auch eigene Runner angebunden werden. ​Siehe [[:docu:gitlab-ci#​eigene_build_runner|ensprechenden Abschnitt]] weiter unten.
  
 ===== Minimales .gitlab-ci.yml ===== ===== Minimales .gitlab-ci.yml =====
Zeile 44: Zeile 46:
 before_script:​ before_script:​
   # setup SSH if on ubuntu   # setup SSH if on ubuntu
-  - eval $(bash ./​scripts/​setup-ssh-on-ubuntu.sh "​$SSH_PRIVATE_KEY"​)+  - eval $(bash ./​scripts/​setup-ssh.sh "​$SSH_PRIVATE_KEY"​)
 </​code>​ </​code>​
  
Zeile 85: Zeile 87:
     mkdir -p ~/.ssh     mkdir -p ~/.ssh
  
-    [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n">​ ~/​.ssh/​config+    [[ -f /​.dockerenv ​|]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n">​ ~/​.ssh/​config
   ;;   ;;
   *)   *)
Zeile 92: Zeile 94:
 esac esac
 </​code>​ </​code>​
 +
  
 ===== Docker Images in Gitlab Build bauen ===== ===== Docker Images in Gitlab Build bauen =====
docu/gitlab-ci.1511417898.txt.gz · Zuletzt geändert: 2017/11/23 07:18 von sage