Besides apps, homepages, and backends, a project can also contain package repositories – for code you want to reuse across multiple applications.
Available package types
When creating a package repository, you choose the type:
| Type | Published to |
|---|---|
| Flutter/Dart package | GitLab Package Registry |
| NPM package | GitLab NPM Registry |
| PyPI package | GitLab PyPI Registry |
| Docker image | GitLab Container Registry |
| Go package | directly from the repository (GitLab Go proxy) |
All registries are private and belong to your GitLab – only members of your projects can use the packages.
How it works
- Create the package repository when creating or editing a project (component Package).
- Develop your package as usual – the repository comes with a ready-made CI/CD pipeline.
- On merge to
main, the pipeline versions and publishes the package to the matching registry. - In your apps and backends you include the package via the private registry.
Note
Automatic publishing for Dart packages is still in preparation – NPM, PyPI, Docker, and Go already work via the GitLab registries.