Gitlab CI/CD Maven Artifact Repository

Hi all.

I’ve had some repos with gitlab for some time now but I’m new to Gitlab CI. I’ve tinkered with the yaml file and managed to get some builds running on commit etc. So far so good. My questions are about artifact storage and availability of the resulting artifacts.

My projects are all spring boot projects managed by maven. Some of them are dependent on others. Of course when I build them locally, the resulting jars etc are installed locally and available to other project builds. In gitlab though this is not the case. The projects are completely separate and some of my builds (the ones that are dependent) fail because they can’t find the dependencies. All makes sense so far. So I realise I need to be deploying the result of the builds somewhere so that my other project builds can download them as a dependency.

I realise there are many options for artifact repos out there both paid and free. However, what if I wanted to keep my git repositories, CI and artifact storage / management in one place - ie gitlab. Is this possible? Does gitlab provide somewhere for us to publish/manage artifacts?

I’d really like it if so. If not, is there a temporary solution to sharing artifacts between dependent but separate project builds in gitlab until I’ve chosen a third party site to store/manage my artifacts?

Lots of thanks in advance for any help you can offer.

Regards.

1 Like

I’ve been wondering if GitLab has an internal Artifact Repository as well (e.g. like Nexus or Artifactory). As far as I can tell to this date it does not. The nearest thing I’ve seen is the Registry but this seems to be limited to Docker images, which I’m sure is great if you’re deploying your app as a Docker Image, but if you’re not, then it seems that you still need something like Nexus or Artifactory as far as I can tell.

It would be great if support for other types of artifacts (e.g. jar) could be supported the Registry feature. Perhaps this is in the pipeline @gitlab.

Are there news about this?

Is this what you want? https://docs.gitlab.com/ee/user/project/packages/maven_repository.html