Ich weiß, diese Frage ist alt, aber ich dachte ich antworte trotzdem, da ich im Moment an ähnlichen Sachen gearbeitet habe und dachte ich würde es gerne machen Beantworten Sie es in einem größeren Maßstab, um eine grundlegende Idee, einen Ausgangspunkt, den Build-Prozess mit GitLab-CI zu verstehen.
Es gibt verschiedene Möglichkeiten, einen Gitlab-Runner auf einem System zu installieren, wie beschrieben here. Es wird immer darauf ankommen, den Runner zu installieren und danach den Runner bei deiner gitlab-Instanz zu registrieren.
Sie werden durch den Registrierungsprozess here geführt. Während des Registrierungsprozesses müssen Sie den Executor auswählen, auf dem die Builds realisiert werden. Diese können ssh, docker + machine, docker-ssh + machine, kubernetes, docker, parallels, virtualbox, docker-ssh und shell: docker sein.
Angenommen, Sie wählen docker als Executor. Sobald ein Build an Ihren Runner übergeben wurde, wird ein Build-Container gestartet, in dem der Build ausgeführt wird. In einigen Projekteinstellungen wird kein Bild als "Basisumgebung" definiert. Während der Runner-Registrierung (Docker Executor) werden Sie aufgefordert, ein Standard-Image zu definieren, das als Build-Container verwendet werden kann, die Umgebung für Ihren Build.
Wenn Sie also ein Projekt haben, das keine 'Basisumgebung' definiert, müssen Sie eines auswählen, das Ihre Buildanforderungen erfüllt. Z.B. Wenn Sie Ihr Build in einem Ant-Skript ausführen, benötigen Sie entweder ein Image, das amt installiert hat, oder Sie müssen ant in Ihrem .gitlab-ci.yml einrichten.
In der .gitlab-ci.yml beschreiben Sie Ihre Build-Pipeline (n) (see more about that here). Dort können Sie auch genauer definieren, wie Sie Ihren Repo in Ihren Build-Container klonen. Aber mit der Standardkonfiguration wird das Klonen immer dann stattfinden, wenn ein Mitwirkender Änderungen an Ihrer Code-Basis an das git (lab) -Repository weitergibt.
Für GitLab müssen Sie das integrierte Git-Repository verwenden. Dadurch kann GitLab die Repos ohne weitere Konfiguration klonen (neben der administrativen Konfiguration müssen Sie GitLab einrichten und warten).
Sie können den Build-Container mit zusätzlichen Containern ("Services") unterstützen, z. Ein Datenbankcontainer für die Tests, die während des Erstellungsprozesses ausgeführt werden.
Für weitere Informationen siehe auch https://docs.gitlab.com/runner/ und https://docs.gitlab.com/ee/README.html