mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-21 16:06:29 +00:00
2.2 KiB
2.2 KiB
Variables
Drone injects the following namespaced environment variables into every build:
DRONE=true
DRONE_REPO
- repository name for the current buildDRONE_BRANCH
- branch name for the current buildDRONE_COMMIT
- git sha for the current buildDRONE_DIR
- working directory for the current buildDRONE_BUILD_NUMBER
- build number for the current buildDRONE_PULL_REQUEST
- pull request number fo the current buildDRONE_JOB_NUMBER
- job number for the current buildDRONE_TAG
- tag name for the current build
Drone also injects CI_
prefixed variables for compatibility with other systems:
CI=true
CI_NAME=drone
CI_REPO
- repository name of the current buildCI_BRANCH
- branch name for the current buildCI_COMMIT
- git sha for the current buildCI_BUILD_NUMBER
- build number for the current buildCI_PULL_REQUEST
- pull request number fo the current buildCI_JOB_NUMBER
- job number for the current buildCI_BUILD_DIR
- working directory for the current buildCI_BUILD_URL
- url for the current buildCI_TAG
- tag name for the current build
Substitution
A subset of variables may be substituted directly into the Yaml at runtime using the $$
notation:
$$BUILD_NUMBER
build number for the current build$$COMMIT
git sha for the current build, long format$$BRANCH
git branch for the current build$$BUILD_NUMBER
build number for the current build$$TAG
tag name
This is useful when you need to dynamically configure your plugin based on the current build. For example, we can alter an artifact name to include the branch:
publish:
s3:
source: ./foo.tar.gz
target: ./foo-$$BRANCH.tar.gz
Operations
A subset of bash string substitution operations are emulated:
$$param
parameter substitution$${param}
parameter substitution (same as above)"$$param"
parameter substitution with escaping$${param:pos}
parameter substition with substring$${param:pos:len}
parameter substition with substring$${param=default}
parameter substition with default$${param##prefix}
parameter substition with prefix removal$${param%%suffix}
parameter substition with suffix removal$${param/old/new}
parameter substition with find and replace