Skip to content

Managing credentials in Jenkins

Estimated time to read: 2 minutes

Managing credentials in Jenkins is crucial for securing sensitive information, such as passwords, API tokens, SSH keys, and other private data that your builds and deployments may require.

Credential Types

Here’s a brief overview of common credential types you can use in Jenkins:

  • Username with Password: Ideal for situations where a username and password are required, such as for accessing private repositories.
  • SSH Username with Private Key: Useful for SSH access to servers or repositories. You can use either a private key directly or point to a key file.
  • Secret Text: For storing tokens or sensitive strings, such as API tokens.
  • Secret File: If you have a file that needs to be used in a build (e.g., a configuration file), you can store it securely.

Best Practices

  • Use Credential IDs: Always use credential IDs in your pipelines instead of hardcoding sensitive information directly into the pipeline script.

  • Restrict Access: Use Jenkins' security settings to restrict who can access or modify credentials.

  • Avoid Outputting Credentials: Be cautious not to echo or log sensitive information in the console output.

  • Use Folders: If your Jenkins setup is complex, consider organizing jobs into folders and managing credentials at the folder level.

Here's a comprehensive guide on how to manage credentials in Jenkins effectively

  • Dashboard > Manage Jenkins >  Credentials under Security

manage-jenkins-credentials.png

  • Click on the Global hyperlink and Add Credentials

jenkins-crd.png

jenkins-gcrd.png

  • For demonstration, let me use the following values

    • Kind – Username with password
    • Scope – Global
    • Username – opsfusionlabs
    • Password – root123
    • ID – Docker_hub
    • Description – Secret to access Docker Hub Credentials

    newcrd.png

  • View Saved Credentials

    jenkins-after-cred-added.png