Skip to content

Commit ec10669

Browse files
authored
Merge pull request #2791 from DarwinJS/DarwinJS-update-gitlab-ci-page
Enhancing GitLab info via working example of GitVersion
2 parents 60e934b + 90f2b63 commit ec10669

File tree

1 file changed

+23
-0
lines changed
  • docs/input/docs/reference/build-servers

1 file changed

+23
-0
lines changed

docs/input/docs/reference/build-servers/gitlab.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,26 @@ RedirectFrom: docs/build-server-support/build-server/gitlab
88
To use GitVersion with GitLab CI, either use the [MSBuild
99
Task](/docs/usage/msbuild) or put the GitVersion executable in your
1010
runner's `PATH`.
11+
12+
A working example of integrating GitVersion with GitLab is maintained in the project [Utterly Automated Software and Artifact Versioning with GitVersion][]
13+
14+
Here is a summary of what it demonstrated (many more details in the [README.md][])
15+
16+
- Is a working example know as a [Guided Explorations (GE Manifesto)][] - so job logs and package artifacts can be reviewed. The project can also be imported to your own GitLab group or instance.
17+
- IMPORTANT: It demonstrates how to override GitLab CI's default cloning behavior so that GitVersion can do a dynamic copy. Selectively clones GitVersion.yml so that these settings take effect. This best practice demonstrates the best way to do this while avoiding a double-cloning of the project (once by GitLab Runner and once by GitVersion).
18+
- Implements GitVersion as a CI CD Extension that can be reused across many projects on the same GitLab instance using includes.
19+
- Implements GitVersion as a single job that runs the GitVersion container and passes the version number downstream into both PIPLINE and JOB level variables, which means...
20+
- It can be used with ANY coding language, framework or packaging engine.
21+
- Generates example packaged artifacts:
22+
- Two ways of building Sem Versioned NuGet packages (msbuild-ish and nuget.exe-ish) and uploads them and tests them from a [GitLab NuGet repository][].
23+
- A Sem Versioned [GitLab Generic Package][]
24+
- A Sem Versioned docker container and uploads to [GitLabs Container Registry][].
25+
- It creates a Sem Versioned [GitLab Release](GitLab Releases Feature Help) and Git tag using the [GitLab release-cli][] and links the generic package as evidence.
26+
27+
[GitLab Generic Package]: https://docs.gitlab.com/ee/user/packages/generic_packages/
28+
[GitLab NuGet repository]: https://docs.gitlab.com/ee/user/packages/nuget_repository/
29+
[GitLab release-cli]: https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs
30+
[GitLabs Container Registry]: https://docs.gitlab.com/ee/user/packages/container_registry/
31+
[Guided Explorations (GE Manifesto)]: https://gitlab.com/guided-explorations/guided-exploration-concept/-/blob/master/README.md
32+
[README.md]: https://gitlab.com/guided-explorations/devops-patterns/utterly-automated-versioning/-/blob/develop/README.md
33+
[Utterly Automated Software and Artifact Versioning with GitVersion]: https://gitlab.com/guided-explorations/devops-patterns/utterly-automated-versioning/

0 commit comments

Comments
 (0)