GitLab
Frogbot integrates with GitLab through GitLab CI pipelines.
Step 1: Set CI/CD Variables
In your GitLab project, go to Settings > CI/CD > Variables and add:
| Variable | Value | Protected | Masked |
|---|---|---|---|
JF_URL | Your JFrog Platform URL | Yes | No |
JF_ACCESS_TOKEN | JFrog Platform access token | Yes | Yes |
JF_GIT_TOKEN | GitLab personal access token with api scope | Yes | Yes |
Step 2: Create the Pipeline Configuration
Add the following to your .gitlab-ci.yml:
frogbot-pr-scan:
image: releases-docker.jfrog.io/jfrog-ecosystem-integration-env
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
variables:
JF_URL: $JF_URL
JF_ACCESS_TOKEN: $JF_ACCESS_TOKEN
JF_GIT_TOKEN: $JF_GIT_TOKEN
JF_GIT_PROVIDER: "gitlab"
JF_GIT_OWNER: $CI_PROJECT_NAMESPACE
JF_GIT_REPO: $CI_PROJECT_NAME
JF_GIT_BASE_BRANCH: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
JF_GIT_PULL_REQUEST_ID: $CI_MERGE_REQUEST_IID
FROGBOT_CMD: "scan-pull-request"
script:
- |
getFrogbotVersion=$(curl -s https://api.github.com/repos/jfrog/frogbot/releases/latest | grep "tag_name" | sed -E 's/.*"([^"]+)".*/\1/')
curl -fLg "https://releases.jfrog.io/artifactory/frogbot/v3/${getFrogbotVersion}/getFrogbot.sh" | sh
./frogbot ${FROGBOT_CMD}
frogbot-commit-scan:
image: releases-docker.jfrog.io/jfrog-ecosystem-integration-env
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
JF_URL: $JF_URL
JF_ACCESS_TOKEN: $JF_ACCESS_TOKEN
JF_GIT_TOKEN: $JF_GIT_TOKEN
JF_GIT_PROVIDER: "gitlab"
JF_GIT_OWNER: $CI_PROJECT_NAMESPACE
JF_GIT_REPO: $CI_PROJECT_NAME
JF_GIT_BASE_BRANCH: $CI_COMMIT_BRANCH
FROGBOT_CMD: "scan-repository"
script:
- |
getFrogbotVersion=$(curl -s https://api.github.com/repos/jfrog/frogbot/releases/latest | grep "tag_name" | sed -E 's/.*"([^"]+)".*/\1/')
curl -fLg "https://releases.jfrog.io/artifactory/frogbot/v3/${getFrogbotVersion}/getFrogbot.sh" | sh
./frogbot ${FROGBOT_CMD}GitLab-Specific Variables
| Variable | Description |
|---|---|
JF_GIT_PROVIDER | Must be set to gitlab |
JF_GIT_OWNER | GitLab namespace (use $CI_PROJECT_NAMESPACE) |
JF_GIT_REPO | Project name (use $CI_PROJECT_NAME) |
JF_GIT_BASE_BRANCH | Target branch for PR scans ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME) or scanned branch for commit scans ($CI_COMMIT_BRANCH) |
JF_GIT_PULL_REQUEST_ID | Merge request IID for PR scans ($CI_MERGE_REQUEST_IID) |
Updated 30 days ago
