https://github.com/fluent-ci-templates/gitlab-pipeline
A ready-to-use CI/CD Pipeline for uploading assets to GitLab releases.
https://github.com/fluent-ci-templates/gitlab-pipeline
cicd deno gitlab-ci pipeline typescript
Last synced: about 1 year ago
JSON representation
A ready-to-use CI/CD Pipeline for uploading assets to GitLab releases.
- Host: GitHub
- URL: https://github.com/fluent-ci-templates/gitlab-pipeline
- Owner: fluent-ci-templates
- License: mit
- Created: 2023-10-26T11:15:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-18T20:08:12.000Z (about 2 years ago)
- Last Synced: 2025-04-14T17:06:31.851Z (about 1 year ago)
- Topics: cicd, deno, gitlab-ci, pipeline, typescript
- Language: TypeScript
- Homepage:
- Size: 204 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Gitlab Pipeline
[](https://pkg.fluentci.io/gitlab_pipeline)

[](https://dagger.io)
[](https://jsr.io/@fluentci/gitlab)
[](https://codecov.io/gh/fluent-ci-templates/gitlab-pipeline)
[](https://github.com/fluent-ci-templates/gitlab-pipeline/actions/workflows/ci.yml)
A ready-to-use CI/CD Pipeline for uploading assets to gitlab releases.
## 🚀 Usage
Run the following command:
```bash
fluentci run gitlab_pipeline
```
## 🧩 Dagger Module
Use as a [Dagger](https://dagger.io) Module:
```bash
dagger install github.com/fluent-ci-templates/gitlab-pipeline@main
```
Call a function from the module:
```bash
dagger call release-create --src . \
--token env:GITLAB_ACCESS_TOKEN \
--tag v0.1.0
dagger call release-upload --src . \
--token env:GITLAB_ACCESS_TOKEN \
--tag v0.1.0 \
--file ./demo_v0.1.0_x86_64-unknown-linux-gnu.tar.gz
```
## 🛠️ Environment Variables
| Variable | Description |
|-----------------------|-------------------------------|
| TAG | Git tag to upload to |
| FILE | File to upload |
| GITLAB_ACCESS_TOKEN | Gitlab Access Token |
## ✨ Jobs
| Job | Description |
|----------------|------------------------------------------------------------|
| release_create | Creates a gitlab release |
| release_upload | Uploads a file to a gitlab release |
```typescript
releaseCreate(
src: string | Directory | undefined = ".",
token?: string | Secret,
tag?: string
): Promise
releaseUpload(
src: string | Directory | undefined = ".",
token?: string,
tag?: string,
file?: string
): Promise
```
## 👨💻 Programmatic usage
You can also use this pipeline programmatically:
```typescript
import { releaseCreate, releaseUpload } from "jsr:@fluentci/gitlab";
await releaseCreate();
await releaseUpload();
```
## 📚 Examples
See [tsiry.sndr/gitlab-release-demo](https://gitlab.com/tsiry.sndr/gitlab-release-demo) for a working example.