**
Unfortunately, after almost a two years of on-and-off development I can no longer dedicate the time needed to be a responsible maintainer of this project. The Azure DevOps API has changed quite often makeing it difficult for me to keep up with the pace and also has some limitations which has caused some issues to linger longer. Thanks to the Microsoft product group I received lots of feedback and suggestions. This extension will remain available for install but please use at your own risk.
Thanks to all the folks that have used this extension and provided me feedback!
This extension integrates GitLab with Azure Pipelines. With this extension, you will be able to download the sources from a GitLab repository (using clone
command) and use downloaded sources in Azure Pipelines. The extension comes as an artifact source in Release Management
and also has a Build
task to download sources in your build pipeline.
3rd Party Notices
- GitLab is the trademark of GitLab, Inc. The GitLab trademark and logo are associated with GitLab - For details go to GitLab License page.
- This extension has been developed by Utkarsh Shigihalli and is not associated with GitLab.
The extension provides a GitLab service connection to connect to GitLab using a Personal access token (PAT).
To connect, go to Project Settings
| Service connections
tab and create a New service connection
and click on GitLab
You will now see a window asking for GitLab details. Enter your GitLab UserName
and API Token
. Give service connection a name and Verify connection
.
If you verified successfully, click OK
to save.
Once you have the GitLab service connection setup, go to Release
hub in Azure Pipelines and edit a release definition. Click Add
[1 in image below] on artifacts and select GitLab
[2 in image below].
You will then need to select the GitLab service connection you created. Once you select, the extension will list all the repositories you own, and after that you will have three options to select artifact version
.
Latest from default branch
: This will download the default branch for the repository.Latest from specific branch
: This will list all the available branches and download the latest commit from the selected branch.Specify at the time of release creation
: As the name suggests, you will have the option to specify the commit id while triggering a release.
Save the release definition and trigger a new release.
In the dialog which opens, you will see all your linked artifacts. You will have an option to fill in the commit id if you have selected specify at the time of release creation
for an artifact source.
Once you link your artifact to release, you will also be able to browse the linked artifacts from GitLab in any of the tasks in your pipeline. In the image below, I am browsing artifacts from GitLab inside a Copy Files
task. Cool right?
In some scenarios, you may also want to consume the GitLab repository in your Azure Pipelines build definition. The extension provides the build task to clone and download the repository.
In your build definition, search for the task and you should see the task listed.
Click Add
and select the created GitLab service connection. Once you do that, as you can see from the screenshot, you will be able to select the repository, branch and version. You will have to specify the Download Path
to which the source from GitLab should be downloaded. In the image below, I am setting it to a Azure DevOps variable $(build.sourcedirectory)
but you can use any valid path.
- v#{Release.ReleaseName}#
- Fix issue 17
- v1.0.7
- Fix issue 2 where only user owned repos were fetched rather than membership
- v1.0.5
- v1.0.0
- Initial release
For more details please see GitHub releases
Please rate the extension and share/tweet to spread the word!!
- Found a bug or need to make a feature request? - Raise it as an issue.
- Have a question? - Raise it here in the Q and A section.
Special thanks to Sriram Balasubramaniam, Omesh Pandita, Romil Goyal, Ashok Kirla and Gopinath Chigakkagari from Microsoft product team, for all the guidance and support in developing this extension.