Wir bauen mehrere GO-Projekte auf unserem gitlab ci und wir haben das folgende Dilemma.Global GOPATH in gitlab-ci
Wenn Projekte mit einem globalen GOPATH Gebäuden (wie auf lokalen Rechnern), baut das zu lange dauern, da alle Abhängigkeiten von jedem Build geholt werden.
Auf der anderen Seite, wenn sie durch gehen bekommen, eine lokale GOPATH und das Zwischenspeichern den Ordner erstellt definieren, erhalten wir bauen schnell, aber umständlich Projekt-Setups, in denen das Projekt selbst nicht auf dem GOPATH etc ist ...
es wäre schön, wenn es global Caching aber Gitlab-ci erlauben nicht, dass:
ACHTUNG: /build/src/git.my.repo: nicht unterstützt: außerhalb bauen Verzeichnis
Verkaufen Sie nicht Ihre Abhängigkeiten? Das würde das Fetch-Everything-on-Build-Problem lösen, da alle Deps sicher in Ihr Repository eingecheckt würden. Vendoring sorgt auch für zuverlässig wiederholbare Builds, selbst wenn einer Ihrer Deps eine bahnbrechende Änderung vornimmt oder sein Repo verschwindet. Go 1.5+ hinzugefügt in direkter Unterstützung für das Vendoring, wo alles in '/vendor /' so behandelt wird, als wäre es in '$ GOPATH/src' mit dem Go-Tool für alle Builds dieses Projekts. t müssen sogar Ihre Importlinien ändern. –
Kaedys