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.
- Navigate to your project, then go to .
- Select Add variable.
- Enter the parameter in the Key field and enter the value for the parameter in the Value field.
- Select Add variable to save.
Create a CI/CD variable for the following 3 parameters:
- JFROG_URL
- JFROG_USER
- JFROG_PASSWORD
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}