Skip to content

Restructure build server documentation #685

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 17, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions docs/build-server-support.md

This file was deleted.

17 changes: 17 additions & 0 deletions docs/build-server-support/build-server-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Build Server Support
GitVersion has support for quite a few build servers out of the box. Currently we support:

- [AppVeyor](build-server-support/build-server/appveyor.md)
- [Bamboo](build-server-support/build-server/bamboo.md)
- [Continua CI](build-server-support/build-server/continua.md)
- [Jenkins](build-server-support/build-server/jenkins.md)
- [MyGet](build-server-support/build-server/myget.md)
- [Octopus Deploy](build-server-support/build-server/octopus-deploy.md)
- [TeamCity](build-server-support/build-server/teamcity.md)
- [Team Build (TFS)](build-server-support/build-server/teambuild.md)
- [TFS Build vNext](build-server-support/build-server/tfs-build-vnext.md)

When GitVersion.exe is run with the `/output buildserver` flag instead of outputting Json it will export variables to the current build server.
For instance if you are running in TeamCity after you run `GitVersion /output buildserver` you will have the `%system.GitVersion.SemVer%` available for you to use

When running in MSBuild either from the [MSBuild Task](usage/msbuild-task) or by using the `/proj myproject.sln` parameter, GitVersion will make the MSBuild variables available in the format `$(GitVersion_SemVer)`.
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ See [Variables](/more-info/variables/) for more info on the variables.

#### Known limitations
* Due to [current limitations in TFS2015 On-Prem](https://github.com/Microsoft/vso-agent-tasks/issues/380) it's currently not possible to automatically set the build version in TFS2015 On-Prem. Instead a warning similar to `##[warning]Unable to process logging event:##vso[build.updatebuildnumber 1.0.0-unstable.1` is logged.
* Due to a know limitation in TFS 2015 On-Prem it's currently not possible to use variables added during build in inputs of subsequent build tasks, since the variables are processed at the beginning of the build.
* Due to a known limitation in TFS 2015 On-Prem it's currently not possible to use variables added during build in inputs of subsequent build tasks, since the variables are processed at the beginning of the build.
As a workaround environment variables can be used in custom scripts.

## Create a NuGet package in TFS
Expand Down
2 changes: 1 addition & 1 deletion docs/more-info/version-increments.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ If you are using GitFlow then builds off the `develop` branch will actually *inc
If you need to consume packages built from develop, we recommend publishing these packages to a separate NuGet feed as an alpha channel. That way you can publish beta/release candidate builds and only people who opt into the alpha feed will see the unstable pacakges.

### 2. Octopus deploy
See [Octopus deploy](build-server-setup/octopus-deploy.md)
See [Octopus deploy](build-server-support/build-server/octopus-deploy.md)

## Manually incrementing the version
With v3 there are multiple approaches.
Expand Down
2 changes: 1 addition & 1 deletion docs/usage/command-line.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Switches are available with `GitVersion /?`

By default GitVersion returns a json object to stdout containing all the [variables](more-info/variables.md) which GitVersion generates. This works great if you want to get your build scripts to parse the json object then use the variables, but there is a simpler way.

`GitVersion.exe /output buildserver` will change the mode of GitVersion to write out the variables to whatever build server it is running in. You can then use those variables in your build scripts or run different tools to create versioned NuGet packages or whatever you would like to do. See [build servers](build-server-support.md) for more information about this.
`GitVersion.exe /output buildserver` will change the mode of GitVersion to write out the variables to whatever build server it is running in. You can then use those variables in your build scripts or run different tools to create versioned NuGet packages or whatever you would like to do. See [build servers](build-server-support/build-server-support.md) for more information about this.

## Inject version metadata into the assembly
`GitVersion.exe /updateassemblyinfo` will recursively search for all `AssemblyInfo.cs` files in the git repo and update them.
Expand Down
2 changes: 1 addition & 1 deletion docs/usage/msbuild-task.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ After `GitVersionTask.GetVersion` has executed the properties can be used in the

Task Name: `GitVersionTask.WriteVersionInfoToBuildLog`

If, at build time, it is detected that the build is occurring inside a Build Server server then the [variables](more-info/variables.md) will be written to the build log in a format that the current Build Server can consume. See [Build Server Support](build-server-support.md).
If, at build time, it is detected that the build is occurring inside a Build Server server then the [variables](more-info/variables.md) will be written to the build log in a format that the current Build Server can consume. See [Build Server Support](build-server-support/build-server-support.md).

## My Git repository requires authentication. What do I do?

Expand Down
12 changes: 8 additions & 4 deletions docs/usage/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

There are two main ways to consume GitVersion, the first is by running GitVersion.exe. The second is an MSBuild task. The MSBuild task is really easy to get up and running, simply install GitVersionTask from NuGet and it will integrate into your project and write out variables to your build server if it's running on one. The exe offers more options and works for not just .net projects.

- [A Command Line tool](command-line.md)
- [An MSBuild Task](msbuild-task.md)
- [A NuGet Library package](nuget-library.md)
- [A Ruby Gem](gem.md)

- [Using the Command Line tool](command-line.md)
- [Using the MSBuild Task](msbuild-task.md)
- [Using the NuGet Library package](nuget-library.md)
- [Using the Ruby Gem](gem.md)


There exist also wrappers around the [Command Line tool](command-line.md) for several build servers. See [Build server support](build-server-support/build-server-support.md) for details.
23 changes: 12 additions & 11 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,19 @@ pages:
- MSBuild Task: usage/msbuild-task.md
- NuGet Library: usage/nuget-library.md
- Gem: usage/gem.md
- Build Server Support: build-server-support.md
- Configuration: configuration.md
- Build Server Support:
- Introduction: build-server-support/build-server-support.md
- Build Servers:
- AppVeyor: build-server-support/build-server/appveyor.md
- Bamboo: build-server-support/build-server/bamboo.md
- Continua CI: build-server-support/build-server/continua.md
- Jenkins: build-server-support/build-server/jenkins.md
- MyGet: build-server-support/build-server/myget.md
- Octopus Deploy: build-server-support/build-server/octopus-deploy.md
- TeamCity: build-server-support/build-server/teamcity.md
- Team Build (TFS): build-server-support/build-server/teambuild.md
- TFS Build vNext: build-server-support/build-server/tfs-build-vnext.md
- Examples: examples.md
- FAQ: faq.md
- Why?: why.md
Expand All @@ -24,16 +35,6 @@ pages:
- Version incrementing: more-info/version-increments.md
- Version sources: more-info/version-sources.md
- Incrementing per commit: more-info/incrementing-per-commit.md
- Build Servers:
- AppVeyor: more-info/build-server-setup/appveyor.md
- TeamCity: more-info/build-server-setup/teamcity.md
- MyGet: more-info/build-server-setup/myget.md
- Bamboo: more-info/build-server-setup/bamboo.md
- Jenkins: more-info/build-server-setup/jenkins.md
- Continua CI: more-info/build-server-setup/continua.md
- Team Build (TFS): more-info/build-server-setup/teambuild.md
- TFS Build vNext: more-info/build-server-setup/tfs-build-vnext.md
- Octopus Deploy: more-info/build-server-setup/octopus-deploy.md

- Git branching strategies:
- Home: git-branching-strategies/index.md
Expand Down