Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joeloftusdev/teamcity2gitlab
Simple utility that converts TeamCity build configurations into GitLab pipelines.
https://github.com/joeloftusdev/teamcity2gitlab
gitlab teamcity
Last synced: about 2 months ago
JSON representation
Simple utility that converts TeamCity build configurations into GitLab pipelines.
- Host: GitHub
- URL: https://github.com/joeloftusdev/teamcity2gitlab
- Owner: joeloftusdev
- License: mit
- Created: 2024-04-03T17:16:01.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-15T17:21:20.000Z (8 months ago)
- Last Synced: 2024-10-11T00:21:03.526Z (3 months ago)
- Topics: gitlab, teamcity
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TeamCity to GitLab migration utility
## Prerequisites
* Golang v1.21.6 or later## Overview
Simple utility that converts a TeamCity build configuration XML document into a GitLab pipeline .yml file.It loads a set of user defined templates from a location defined in a configuration file `config.yml` & uses them to transform between the two formats.
## Design![design](https://github.com/joeloftusdev/teamcity2gitlab/assets/152509645/7bc67d06-9e65-4539-b46c-b0b91fedef55)
## Build & Run
Rename `config.yml.default` to `config.yml` & specify the location of your TeamCity config data directory plus your output directory for GitLab pipelines.If you leave the default values as is the utility will use the example TeamCity config files in the xml directory.
To run the app:
````
cd cmd
go run .
````## Info
Currently this app supports a simple build configuration using Maven & SimpleRunner build steps.I'll be adding templates for other languages & build tools in the future.
## Experimental
I have created a test environment/lab containing a Gitlab server & runner plus a TeamCity server & agent.
You can read more about this [here](/lab/lab.md).
You will need a Docker environment set up running locally including Docker compose.