Upload assets to GitLab Releases
This page explains how to upload assets to GitLab Releases with FluentCI.
Before you begin
The instructions on this page assume that you are familiar with GitLab Releases
. In addition:
- Have your project ready, including the assets you want to upload.
- Have a GitLab account.
- Have a GitLab repository.
- Have a GitLab token.
Using the GitLab Plugin
You can use FluentCI to upload assets to GitLab Releases using the gitlab plugin, no need to install GitLab CLI on your machine, FluentCI will handle everything for you.
The following command can be used to upload assets to GitLab Releases:
# Make sure to set the GITLAB_ACCESS_TOKEN environment variable
fluentci run --wasm gitlab release_upload $TAG $FILE
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to upload assets to GitLab Releases:
- Github Actions
- GitLab CI
- Circle CI
- Azure Pipelines
- AWS CodePipeline
ci.yml
name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
- name: release_create
run: fluentci run --wasm gitlab release_create $TAG # Replace $TAG with the tag name
env:
GITLAB_ACCESS_TOKEN: ${{ secrets.GITLAB_ACCESS_TOKEN }}
- name: release_upload
run: fluentci run --wasm gitlab release_upload $TAG $FILE # Replace $TAG with the tag name and $FILE with the file path
env:
GITLAB_ACCESS_TOKEN: ${{ secrets.GITLAB_ACCESS_TOKEN }}
.gitlab-ci.yml
.docker:
image: denoland/deno:debian-1.42.4
services:
- docker:${DOCKER_VERSION}-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: "1"
DOCKER_TLS_CERTDIR: /certs
DOCKER_CERT_PATH: /certs/client
DOCKER_DRIVER: overlay2
DOCKER_VERSION: 20.10.16
GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
.fluentci:
extends: .docker
before_script:
- apt-get update
- apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
- deno install -A -r https://cli.fluentci.io -n fluentci
- fluentci --version
- curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
- mv bin/dagger /usr/local/bin
- dagger version
release_create:
extends: .fluentci
script:
- fluentci run --wasm gitlab release_create $TAG # Replace $TAG with the tag name
release_upload:
extends: .fluentci
script:
- fluentci run --wasm gitlab release_upload $TAG $FILE # Replace $TAG with the tag name and $FILE with the file path
.circleci/config.yml
version: 2.1
jobs:
job:
steps:
- checkout
- run: |
sudo apt-get update && sudo apt-get install -y curl unzip
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
name: Setup FluentCI
- run: fluentci run --wasm gitlab release_create $TAG # Replace $TAG with the tag name
name: release_create
- run: fluentci run --wasm gitlab release_upload $TAG $FILE # Replace $TAG with the tag name and $FILE with the file path
name: release_upload
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
azure-pipelines.yml
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
echo "##vso[task.prependpath]${HOME}/.deno/bin
displayName: Setup FluentCI
- script: fluentci run --wasm gitlab release_create $TAG # Replace $TAG with the tag name
displayName: release_create
- script: fluentci run --wasm gitlab release_upload $TAG $FILE # Replace $TAG with the tag name and $FILE with the file path
displayName: release_upload
buildspec.yml
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm gitlab release_create $TAG # Replace $TAG with the tag name
- fluentci run --wasm gitlab release_upload $TAG $FILE # Replace $TAG with the tag name and $FILE with the file path
post_build:
commands:
- echo Build completed on `date`