Bird
Raised Fist0
Jenkinsdevops~20 mins

Git plugin configuration in Jenkins - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Git Plugin Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Git plugin: What is the output of this Jenkins pipeline snippet?
Consider this Jenkins pipeline snippet using the Git plugin to clone a repository. What will be the output in the Jenkins console after running this?
Jenkins
pipeline {
  agent any
  stages {
    stage('Clone') {
      steps {
        git url: 'https://github.com/example/repo.git', branch: 'main'
      }
    }
  }
}
ACloning into 'repo'...\nChecking out Revision main (refs/heads/main)\nFinished: SUCCESS
BCloning into 'repo'...\nfatal: remote origin already exists.\nFinished: FAILURE
CERROR: Repository not found.\nFinished: FAILURE
DCloning into 'repo'...\nChecking out Revision develop (refs/heads/develop)\nFinished: SUCCESS
Attempts:
2 left
💡 Hint
The branch specified is 'main', so the checkout will be for 'main'.
❓ Configuration
intermediate
2:00remaining
Git plugin: Which configuration snippet correctly sets credentials for private repo access?
You want Jenkins to clone a private Git repository using stored credentials. Which configuration snippet correctly sets the credentials ID in the Git plugin step?
Agit url: 'https://github.com/private/repo.git', credentialsId: 'my-creds-id'
Bgit url: 'https://github.com/private/repo.git', credentialId: 'my-creds-id'
Cgit url: 'https://github.com/private/repo.git', credentials: 'my-creds-id'
Dgit url: 'https://github.com/private/repo.git', credId: 'my-creds-id'
Attempts:
2 left
💡 Hint
The Git plugin expects the exact parameter name for credentials.
❓ Troubleshoot
advanced
2:00remaining
Git plugin: Why does this Jenkins job fail with 'Could not resolve host' error?
A Jenkins job using the Git plugin fails with this error: 'fatal: unable to access 'https://github.com/example/repo.git/': Could not resolve host: github.com'. What is the most likely cause?
AThe repository URL is misspelled in the job configuration
BJenkins server has no internet or DNS access to github.com
CThe Git plugin is not installed in Jenkins
DThe credentials ID is invalid or missing
Attempts:
2 left
💡 Hint
The error indicates a network or DNS problem.
🔀 Workflow
advanced
2:00remaining
Git plugin: What is the correct order of steps to configure a Jenkins job to poll Git changes?
Arrange these steps in the correct order to configure a Jenkins freestyle job to poll a Git repository for changes.
A1,2,3,4
B3,1,2,4
C1,3,2,4
D3,2,1,4
Attempts:
2 left
💡 Hint
You must first define the repo and credentials before enabling polling.
✅ Best Practice
expert
2:00remaining
Git plugin: Which practice ensures secure and maintainable Jenkins Git configurations?
Which of the following is the best practice when configuring Git plugin in Jenkins for multiple jobs accessing private repositories?
ACreate separate credentials for each job with the same username and password
BHardcode username and password in each job's Git URL
CUse anonymous access for all repositories to avoid credential management
DStore credentials centrally in Jenkins Credentials and reference by ID in jobs
Attempts:
2 left
💡 Hint
Centralized credential management improves security and ease of updates.

Practice

(1/5)
1. What is the primary purpose of the Git plugin in Jenkins?
easy
A. To connect Jenkins jobs to Git repositories and fetch code
B. To build Docker images automatically
C. To deploy applications to cloud servers
D. To monitor server health and performance

Solution

  1. Step 1: Understand Jenkins Git plugin role

    The Git plugin is designed to link Jenkins jobs with Git repositories so Jenkins can get the source code.
  2. Step 2: Compare options with plugin purpose

    Only To connect Jenkins jobs to Git repositories and fetch code describes fetching code from Git repositories, which is the plugin's main job.
  3. Final Answer:

    To connect Jenkins jobs to Git repositories and fetch code -> Option A
  4. Quick Check:

    Git plugin = Connect and fetch code [OK]
Hint: Git plugin = connect Jenkins to Git repos [OK]
Common Mistakes:
  • Confusing Git plugin with deployment tools
  • Thinking Git plugin builds Docker images
  • Assuming Git plugin monitors servers
2. Which of the following is the correct syntax to checkout a Git repository in a Jenkins pipeline?
easy
A. checkout git: 'https://github.com/example/repo.git', branch: 'main'
B. git url: 'https://github.com/example/repo.git', branch: 'main'
C. git checkout 'https://github.com/example/repo.git' branch 'main'
D. checkout scm: 'https://github.com/example/repo.git', branch: 'main'

Solution

  1. Step 1: Recall Jenkins pipeline git step syntax

    The correct syntax uses the git step with named parameters like url and branch.
  2. Step 2: Validate each option

    git url: 'https://github.com/example/repo.git', branch: 'main' matches the correct syntax: git url: '...', branch: '...'. Others are incorrect or invalid syntax.
  3. Final Answer:

    git url: 'https://github.com/example/repo.git', branch: 'main' -> Option B
  4. Quick Check:

    Use git url: ..., branch: ... syntax [OK]
Hint: Use 'git url: ..., branch: ...' in pipeline [OK]
Common Mistakes:
  • Using 'checkout git:' instead of 'git url:'
  • Mixing git CLI syntax with Jenkins pipeline
  • Using 'checkout scm:' incorrectly
3. Given this Jenkins pipeline snippet:
pipeline {
  agent any
  stages {
    stage('Checkout') {
      steps {
        git url: 'https://github.com/example/repo.git', branch: 'dev'
      }
    }
  }
}

What branch will Jenkins checkout?
medium
A. feature
B. main
C. master
D. dev

Solution

  1. Step 1: Identify branch parameter in git step

    The pipeline uses branch: 'dev' in the git step, specifying the branch to checkout.
  2. Step 2: Confirm branch checked out

    Jenkins will checkout the 'dev' branch as explicitly set in the pipeline.
  3. Final Answer:

    dev -> Option D
  4. Quick Check:

    Branch parameter sets checkout branch [OK]
Hint: Look for branch: '...' in git step [OK]
Common Mistakes:
  • Assuming default branch 'main' is used
  • Confusing 'master' with 'dev'
  • Ignoring explicit branch parameter
4. You configured a Jenkins pipeline with:
git url: 'https://github.com/example/repo.git', branch: 'main', credentialsId: 'git-creds'

But Jenkins fails to clone with authentication error. What is the likely cause?
medium
A. The credentialsId is missing or incorrect
B. The branch name is misspelled
C. The git URL is invalid
D. The Jenkins agent is offline

Solution

  1. Step 1: Analyze authentication failure cause

    Authentication errors usually mean Jenkins cannot use the provided credentials to access the repo.
  2. Step 2: Check credentialsId correctness

    If credentialsId is missing or wrong, Jenkins cannot authenticate, causing failure.
  3. Final Answer:

    The credentialsId is missing or incorrect -> Option A
  4. Quick Check:

    Authentication error = credentials issue [OK]
Hint: Check credentialsId for authentication errors [OK]
Common Mistakes:
  • Blaming branch name for auth errors
  • Ignoring credentialsId parameter
  • Assuming URL is always the problem
5. You want Jenkins to checkout a private Git repo using SSH keys stored in Jenkins credentials. Which configuration is correct in a pipeline script?
hard
A. git url: 'https://github.com/example/repo.git', credentialsId: 'ssh-key-id'
B. git url: 'git@github.com:example/repo.git', branch: 'main'
C. git url: 'git@github.com:example/repo.git', credentialsId: 'ssh-key-id'
D. git url: 'https://github.com/example/repo.git', branch: 'main'

Solution

  1. Step 1: Identify SSH URL format for private repo

    SSH URLs use the format git@github.com:owner/repo.git to connect via SSH keys.
  2. Step 2: Confirm credentialsId usage for SSH keys

    To use stored SSH keys, credentialsId must be set with the SSH key ID.
  3. Step 3: Validate options

    git url: 'git@github.com:example/repo.git', credentialsId: 'ssh-key-id' correctly uses SSH URL and credentialsId. The options using HTTPS require username/password or token credentials, not SSH keys. git url: 'git@github.com:example/repo.git', branch: 'main' misses credentialsId.
  4. Final Answer:

    git url: 'git@github.com:example/repo.git', credentialsId: 'ssh-key-id' -> Option C
  5. Quick Check:

    SSH URL + credentialsId for SSH keys [OK]
Hint: Use SSH URL with credentialsId for SSH keys [OK]
Common Mistakes:
  • Using HTTPS URL with SSH credentials
  • Omitting credentialsId for private repos
  • Confusing branch with credentials
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard