{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":32169,"path":"it-service-management/devops-change-velocity/jfrog-sample-gitlab.md","title":"Sample pipeline to upload and download artifacts for GitLab","bundle":null,"doc_type":null,"release":"australia","body":"\n# Sample pipeline to upload and download artifacts for GitLab\n\nPipeline samples for GitLab containing steps to upload and download artifacts for GitHub.\n\nTo 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.\n\n1.  Navigate to your project, then go to **Settings** &gt; **CI/CD** &gt; **Variables**.\n2.  Select **Add variable**.\n3.  Enter the parameter in the **Key** field and enter the value for the parameter in the **Value** field.\n4.  Select **Add variable** to save.\n\nCreate a CI/CD variable for the following 3 parameters:\n\n-   **JFROG\\_URL**\n-   **JFROG\\_USER**\n-   **JFROG\\_PASSWORD**\n\n\\[Omitted image \"jfrog-sample-gitlab-01.png\"\\] Alt text: Set the parameters.\n\n## Sample pipeline to upload artifacts from GitLab to JFrog\n\n```\n\nstages:\n  - upload\n\nvariables:\n  JFROG_CLI_HOME: ${CI_PROJECT_DIR}\n  JFROG_ARTIFACTORY_URL: ${JFROG_URL}\n  JFROG_ARTIFACTORY_REPO: \"local_repo/gitlab\"\n  JFROG_ARTIFACTORY_USERNAME: ${JFROG_USER}\n  JFROG_ARTIFACTORY_PASSWORD: ${JFROG_PASSWORD}\n  ARTIFACT_PATH: \"/\"\n  ARTIFACT_NAME: \"servicenow-app-devops.zip\"\n  BUILD_NAME: \"${CI_PROJECT_NAME}\"\n  BUILD_NUMBER: \"${CI_PIPELINE_ID}\"\n  JFROG_CLI_BUILD_URL: ${CI_SERVER_URL}/$CI_PROJECT_PATH/-/pipelines/$CI_PIPELINE_ID\n\nupload:\n  stage: upload\n  script:\n    - export BUILD_URL=${CI_SERVER_URL}/$CI_PROJECT_PATH/pipelines/$CI_PIPELINE_ID\n    # upload artifact\n    - jfrog rt u \"servicenow-app-devops.zip\"  \"${JFROG_ARTIFACTORY_REPO}\" --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID\n    # publish build-info\n    - jfrog rt bp \"${CI_PROJECT_NAME}\" \"${CI_PIPELINE_ID}\"\n  before_script:\n  - mkdir -p ${JFROG_CLI_HOME}\n  - export PATH=$PATH:${JFROG_CLI_HOME}\n  - curl -fL https://getcli.jfrog.io | sh\n  - jfrog config add artifactory-server --artifactory-url=${JFROG_ARTIFACTORY_URL} --user=${JFROG_ARTIFACTORY_USERNAME} --password=${JFROG_ARTIFACTORY_PASSWORD}\n```\n\n## Sample pipeline to download artifacts from JFrog to GitLab\n\n```\n\nstages:\n  - download\n\nvariables:\n  JFROG_CLI_HOME: ${CI_PROJECT_DIR}\n  JFROG_ARTIFACTORY_URL: ${JFROG_URL}\n  JFROG_ARTIFACTORY_REPO: \"local_repo/gitlab\"\n  JFROG_ARTIFACTORY_USERNAME: ${JFROG_USER}\n  JFROG_ARTIFACTORY_PASSWORD: ${JFROG_PASSWORD}\n  ARTIFACT_PATH: \"/\"\n  ARTIFACT_NAME: \"servicenow-app-devops.zip\"\n  BUILD_NAME: \"${CI_PROJECT_NAME}\"\n  BUILD_NUMBER: \"${CI_PIPELINE_ID}\"\n  JFROG_CLI_BUILD_URL: ${CI_SERVER_URL}/$CI_PROJECT_PATH/-/pipelines/$CI_PIPELINE_ID\n\ndownload:\n  stage: download\n  script:\n    # download artifact \n     - jfrog rt dl ${JFROG_ARTIFACTORY_REPO}/servicenow-app-devops.zip --include-dirs --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID\n    # publish build-info \n     - jfrog rt bp ${CI_PROJECT_NAME} ${CI_PIPELINE_ID}\n  before_script:\n  - mkdir -p ${JFROG_CLI_HOME}\n  - export PATH=$PATH:${JFROG_CLI_HOME}\n  - curl -fL https://getcli.jfrog.io | sh\n  - jfrog config add artifactory-server --artifactory-url=${JFROG_ARTIFACTORY_URL} --user=${JFROG_ARTIFACTORY_USERNAME} --password=${JFROG_ARTIFACTORY_PASSWORD}\n```\n\n**Parent Topic:**[JFrog integration with DevOps Change Velocity](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-service-management/devops-change-velocity/devops-jfrog-integration.md)\n\n"}}