GitLabSync.Tool
1.3.0
dotnet tool install --global GitLabSync.Tool --version 1.3.0
dotnet new tool-manifest
dotnet tool install --local GitLabSync.Tool --version 1.3.0
#tool dotnet:?package=GitLabSync.Tool&version=1.3.0
nuke :add-package GitLabSync.Tool --version 1.3.0
GitLabSync
A tool to help synchronize specific files and folders across repositories in GitLab.
This tool is based on GitHubSync by Simon Cropp.
dotnet tool
This tool allows reading the configuration from a file. This allows customization of the templates and repositories without needing to recompile any code.
Installation
Ensure dotnet CLI is installed.
Install GitLabSync.Tool globally.
dotnet tool install -g GitLabSync.Tool
Usage
To run the tool with your gitlab credentials, you need to set the environment variable GitLab_OAuthToken
with a personal access token as the value.
You can also set the environment variable GitLab_HostUrl
to the host of your GitLab instance. This is optional and defaults to https://gitlab.com
.
Run against the current directory will use gitlabsync.yaml
in the current directory:
gitlabsync
Run against a specific file:
gitlabsync /path/to/gitlabsync.yaml
Configuration definition
The configuration format is yaml. There should be 1 to n number of templates and 1 to n number of (target) repositories.
templates:
- name: [template name]
url: [repository url of the template]
branch: [branch to use, defaults to `main`]
repositories:
- name: [repository name]
url: [repository url of the target repository]
branch: [target branch, defaults to `main`]
templates:
- [list of template names to use in the order to apply]
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.