Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Sample pipeline to upload and download artifacts for GitLab

Pipeline samples for GitLab containing steps to upload and download artifacts for GitHub.

To upload and download artifacts from GitLab to JFrog, the parameters JFROG_URL, JFROG_USER, and JFROG_PASSWORD must be set as CI/CD variables in your GitLab instance.

  1. Navigate to your project, then go to Settings > CI/CD > Variables.
  2. Select Add variable.
  3. Enter the parameter in the Key field and enter the value for the parameter in the Value field.
  4. Select Add variable to save.

Create a CI/CD variable for the following 3 parameters:

  • JFROG_URL
  • JFROG_USER
  • JFROG_PASSWORD
Image omitted: jfrog-sample-gitlab-01.png
Set the parameters.

Sample pipeline to upload artifacts from GitLab to JFrog

stages:
  - upload

variables:
  JFROG_CLI_HOME: ${CI_PROJECT_DIR}
  JFROG_ARTIFACTORY_URL: ${JFROG_URL}
  JFROG_ARTIFACTORY_REPO: "local_repo/gitlab"
  JFROG_ARTIFACTORY_USERNAME: ${JFROG_USER}
  JFROG_ARTIFACTORY_PASSWORD: ${JFROG_PASSWORD}
  ARTIFACT_PATH: "/"
  ARTIFACT_NAME: "servicenow-app-devops.zip"
  BUILD_NAME: "${CI_PROJECT_NAME}"
  BUILD_NUMBER: "${CI_PIPELINE_ID}"
  JFROG_CLI_BUILD_URL: ${CI_SERVER_URL}/$CI_PROJECT_PATH/-/pipelines/$CI_PIPELINE_ID

upload:
  stage: upload
  script:
    - export BUILD_URL=${CI_SERVER_URL}/$CI_PROJECT_PATH/pipelines/$CI_PIPELINE_ID
    # upload artifact
    - jfrog rt u "servicenow-app-devops.zip"  "${JFROG_ARTIFACTORY_REPO}" --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID
    # publish build-info
    - jfrog rt bp "${CI_PROJECT_NAME}" "${CI_PIPELINE_ID}"
  before_script:
  - mkdir -p ${JFROG_CLI_HOME}
  - export PATH=$PATH:${JFROG_CLI_HOME}
  - curl -fL https://getcli.jfrog.io | sh
  - jfrog config add artifactory-server --artifactory-url=${JFROG_ARTIFACTORY_URL} --user=${JFROG_ARTIFACTORY_USERNAME} --password=${JFROG_ARTIFACTORY_PASSWORD}

Sample pipeline to download artifacts from JFrog to GitLab

stages:
  - download

variables:
  JFROG_CLI_HOME: ${CI_PROJECT_DIR}
  JFROG_ARTIFACTORY_URL: ${JFROG_URL}
  JFROG_ARTIFACTORY_REPO: "local_repo/gitlab"
  JFROG_ARTIFACTORY_USERNAME: ${JFROG_USER}
  JFROG_ARTIFACTORY_PASSWORD: ${JFROG_PASSWORD}
  ARTIFACT_PATH: "/"
  ARTIFACT_NAME: "servicenow-app-devops.zip"
  BUILD_NAME: "${CI_PROJECT_NAME}"
  BUILD_NUMBER: "${CI_PIPELINE_ID}"
  JFROG_CLI_BUILD_URL: ${CI_SERVER_URL}/$CI_PROJECT_PATH/-/pipelines/$CI_PIPELINE_ID

download:
  stage: download
  script:
    # download artifact 
     - jfrog rt dl ${JFROG_ARTIFACTORY_REPO}/servicenow-app-devops.zip --include-dirs --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID
    # publish build-info 
     - jfrog rt bp ${CI_PROJECT_NAME} ${CI_PIPELINE_ID}
  before_script:
  - mkdir -p ${JFROG_CLI_HOME}
  - export PATH=$PATH:${JFROG_CLI_HOME}
  - curl -fL https://getcli.jfrog.io | sh
  - jfrog config add artifactory-server --artifactory-url=${JFROG_ARTIFACTORY_URL} --user=${JFROG_ARTIFACTORY_USERNAME} --password=${JFROG_ARTIFACTORY_PASSWORD}

Parent Topic:JFrog integration with DevOps Change Velocity