Bird
Raised Fist0
Jenkinsdevops~20 mins

Git repository configuration in Jenkins - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Git Repository Configuration Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Jenkins Git Plugin: Repository URL Validation
You configure a Jenkins job with the Git repository URL: https://github.com/example/repo.git. What will be the output of Jenkins when it tries to clone this repository if the URL is incorrect or unreachable?
AERROR: Failed to connect to repository: https://github.com/example/repo.git
BSUCCESS: Repository cloned successfully
CWARNING: Repository URL is deprecated but cloned
DINFO: Repository URL not specified
Attempts:
2 left
💡 Hint
Think about what Jenkins reports when it cannot access the Git repository.
❓ Configuration
intermediate
2:00remaining
Jenkins Git Plugin: Specifying Branch to Build
In Jenkins Git plugin configuration, which syntax correctly specifies to build only the develop branch?
Arefs/heads/master
Brefs/tags/develop
Crefs/remotes/origin/develop
Drefs/heads/develop
Attempts:
2 left
💡 Hint
Branches are referenced under refs/heads/ in Git.
🔀 Workflow
advanced
2:30remaining
Jenkins Pipeline: Git Checkout with Credentials
You want to checkout a private Git repository in a Jenkins pipeline using stored credentials with ID git-creds. Which pipeline snippet correctly performs this checkout?
Acheckout scm
Bcheckout([$class: 'GitSCM', branches: [[name: 'refs/heads/main']], userRemoteConfigs: [[url: 'https://github.com/private/repo.git', credentialsId: 'git-creds']]])
Cgit url: 'https://github.com/private/repo.git', branch: 'main'
Dgit credentialsId: 'git-creds', url: 'https://github.com/private/repo.git'
Attempts:
2 left
💡 Hint
Using checkout with GitSCM class allows specifying credentials explicitly.
❓ Troubleshoot
advanced
2:00remaining
Jenkins Git Plugin: Resolving 'No credentials specified' Error
A Jenkins job fails with the error: ERROR: No credentials specified when trying to clone a private Git repository. What is the most likely cause?
AThe Jenkins job configuration does not specify any credentials for the Git repository
BThe Git repository URL is public and does not require credentials
CThe Git plugin is not installed in Jenkins
DThe repository branch name is incorrect
Attempts:
2 left
💡 Hint
Think about what Jenkins needs to access private repositories.
✅ Best Practice
expert
3:00remaining
Best Practice for Jenkins Git Polling Configuration
Which Jenkins Git plugin polling configuration is best to minimize unnecessary builds while ensuring changes are detected promptly?
ADisable polling and rely only on manual builds
BPoll SCM every minute with <code>* * * * *</code> and disable shallow clone
CPoll SCM every 5 minutes with <code>H/5 * * * *</code> and use shallow clone
DPoll SCM once daily with <code>H H * * *</code> and use shallow clone
Attempts:
2 left
💡 Hint
Balance frequency and resource usage for polling.

Practice

(1/5)
1. What is the main purpose of configuring a Git repository in Jenkins?
easy
A. To set the Jenkins server's IP address
B. To tell Jenkins where to find the source code for building
C. To configure Jenkins user permissions
D. To install Jenkins plugins automatically

Solution

  1. Step 1: Understand Jenkins and Git integration

    Jenkins needs to know the location of the source code to build and test it automatically.
  2. Step 2: Identify the role of Git repository configuration

    Configuring the Git repository provides Jenkins with the URL and branch to fetch the code.
  3. Final Answer:

    To tell Jenkins where to find the source code for building -> Option B
  4. Quick Check:

    Git repo config = source code location [OK]
Hint: Git repo config tells Jenkins where code lives [OK]
Common Mistakes:
  • Confusing repository URL with Jenkins server settings
  • Thinking Git config sets user permissions
  • Assuming it installs plugins automatically
2. Which of the following is the correct way to specify a Git repository URL in Jenkins?
easy
A. C:\Users\repo
B. http://jenkins.local/repo.git
C. git@github.com:user/repo.git
D. ftp://github.com/user/repo.git

Solution

  1. Step 1: Identify valid Git repository URL formats

    Git URLs typically use SSH (git@...) or HTTPS (https://...) protocols.
  2. Step 2: Check each option's format

    git@github.com:user/repo.git uses SSH format, which is valid. http://jenkins.local/repo.git is a Jenkins URL, not a Git repo. C:\Users\repo is a Windows path, not a URL. ftp://github.com/user/repo.git uses FTP, which Git does not use.
  3. Final Answer:

    git@github.com:user/repo.git -> Option C
  4. Quick Check:

    SSH or HTTPS URL = valid Git repo URL [OK]
Hint: Git URLs use SSH or HTTPS, not local paths or FTP [OK]
Common Mistakes:
  • Using local file paths instead of URLs
  • Confusing Jenkins URLs with Git URLs
  • Using unsupported protocols like FTP
3. Given this Jenkins Git configuration snippet:
Repository URL: https://github.com/example/project.git
Branch Specifier: feature-branch

What will Jenkins do when it runs a build?
medium
A. Clone the 'feature-branch' branch from the repository
B. Fail because branch specifier is missing
C. Clone all branches from the repository
D. Clone the 'main' branch from the repository

Solution

  1. Step 1: Understand the Branch Specifier field

    The Branch Specifier tells Jenkins which branch to clone and build.
  2. Step 2: Analyze the given branch specifier

    The branch is set to 'feature-branch', so Jenkins will clone that specific branch.
  3. Final Answer:

    Clone the 'feature-branch' branch from the repository -> Option A
  4. Quick Check:

    Branch Specifier = selected branch [OK]
Hint: Branch Specifier sets which branch Jenkins clones [OK]
Common Mistakes:
  • Assuming Jenkins always clones 'main' branch
  • Thinking Jenkins clones all branches by default
  • Believing branch specifier can be empty
4. You configured Jenkins with this Git repository URL:
https://github.com/example/project.git
But the build fails with authentication errors. What is the most likely cause?
medium
A. Credentials are missing or incorrect in Jenkins Git config
B. The branch name is misspelled
C. The repository URL is incorrect
D. Jenkins server is offline

Solution

  1. Step 1: Understand authentication in Git with Jenkins

    Private repositories require credentials for Jenkins to access them.
  2. Step 2: Analyze the error cause

    Authentication errors usually mean Jenkins lacks correct credentials or they are not configured.
  3. Final Answer:

    Credentials are missing or incorrect in Jenkins Git config -> Option A
  4. Quick Check:

    Authentication error = check credentials [OK]
Hint: Authentication errors mean missing or wrong credentials [OK]
Common Mistakes:
  • Assuming URL is always wrong for auth errors
  • Ignoring credentials setup in Jenkins
  • Blaming branch name for authentication issues
5. You want Jenkins to build code from a private Git repository using SSH keys. Which steps must you take to configure this correctly?
hard
A. Upload the repository code manually to Jenkins workspace
B. Use HTTPS URL and enter username/password in Jenkins Git config
C. Set the repository URL to HTTP and disable authentication
D. Add the SSH private key in Jenkins credentials and use the SSH Git URL

Solution

  1. Step 1: Use SSH URL for private repo access

    SSH URLs look like git@github.com:user/repo.git and allow key-based authentication.
  2. Step 2: Add SSH private key to Jenkins credentials

    Jenkins needs the private key stored securely to authenticate with the Git server.
  3. Step 3: Configure Jenkins Git plugin to use SSH URL and credentials

    Set the repository URL to the SSH format and select the SSH key credential in Jenkins.
  4. Final Answer:

    Add the SSH private key in Jenkins credentials and use the SSH Git URL -> Option D
  5. Quick Check:

    SSH key + SSH URL = secure private repo access [OK]
Hint: Use SSH URL + private key credential for private repos [OK]
Common Mistakes:
  • Using HTTP URL without credentials for private repos
  • Trying to disable authentication for private repos
  • Uploading code manually instead of using Git
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