Environment block
environment {
APP_NAME = 'my-app'
DOCKER_CREDS = credentials('dockerhub-creds')
}For username/password credentials, Jenkins exposes:
DOCKER_CREDS—user:passwordDOCKER_CREDS_USR/DOCKER_CREDS_PSW
steps {
sh '''
echo "$DOCKER_CREDS_PSW" | docker login -u "$DOCKER_CREDS_USR" --password-stdin
'''
}Built-in variables
| Variable | Meaning |
|---|---|
env.BUILD_NUMBER | Build id |
env.JOB_NAME | Job name |
env.GIT_COMMIT | Commit SHA |
env.BRANCH_NAME | Branch (multibranch) |
env.BUILD_URL | Link to the build |
withCredentials
steps {
withCredentials([string(credentialsId: 'npm-token', variable: 'NPM_TOKEN')]) {
sh 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc'
sh 'npm publish'
}
}Avoid echoing secrets. Prefer piping to docker login --password-stdin and mask passwords in logs.