Environment Variables
This page covers Tugboat’s environment variables. If you’re looking for information on how to use custom environment variables with Tugboat, see: Create Custom Environment Variables.
- Image Specific Environment Variables
- Tugboat Environment Variables
- Exposed Service Variables
- Base Preview Variables
- Git Provider Variables
Image Specific Variables
These variables are added to some of Tugboat’s images.
Variable Name | Description | Example Value |
---|---|---|
$DOCROOT |
On images that provide a webserver (such as tugboatqa/httpd , tugboatqa/nginx , or tugboatqa/php images that have Apache installed), the $DOCROOT environment variable points to the full path that Tugboat expects your document root to live. It’s recommended to symlink your assets directory into place: e.g. ln -snf "${TUGBOAT_ROOT}/build" "${DOCROOT}" . |
/usr/local/apache2/htdocs |
Tugboat Environment Variables
Tugboat injects the following environment variables into every Service. These variables are available for the entire lifetime of a Service. This includes both build-time as well as run-time. So, they can be used in Build Scripts as well as run-time configuration files, etc.
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_DEFAULT_SERVICE |
The friendly name of the default Service of the current Preview. | apache |
$TUGBOAT_DEFAULT_SERVICE_ID |
The ID of the default Service of the current Preview. | 65d80b183a26bc1dcec69e21 |
$TUGBOAT_DEFAULT_SERVICE_TOKEN |
The authentication token for the default Service of the current Preview. | jkm6qcfq2nutbqjrqdlo66n7zmwbnubb |
$TUGBOAT_DEFAULT_SERVICE_URL |
The full URL for the default Service of the current Preview. This is also the default URL for the Preview itself. | https://pr381-jkm6qcfq2nutbqjrqdlo66n7zmwbnubb.tugboatqa.com/ |
$TUGBOAT_DEFAULT_SERVICE_URL_HOST |
The “host” part of the URL for the default Service of the current Preview. | pr381-jkm6qcfq2nutbqjrqdlo66n7zmwbnubb.tugboatqa.com |
$TUGBOAT_DEFAULT_SERVICE_URL_PROTOCOL |
The “protocol” part of the URL for the default Service of the current Preview. | https |
$TUGBOAT_DEFAULT_SERVICE_URL_PATH |
The “path” part of the URL for the default Service of the current Preview. | / |
$TUGBOAT_DEFAULT_SERVICE_CONFIG_ALIASES |
A comma-separated list of aliases configured for the default Service of the current Preview. | foo,bar,baz.example.com |
$TUGBOAT_DEFAULT_SERVICE_CONFIG_DOMAIN |
The configured domain for the default Service of the current Preview. | tugboatqa.com |
$TUGBOAT_PREVIEW_ID |
The ID of the current Preview. | 65d80b17a79d4412414fa382 |
$TUGBOAT_PREVIEW |
The ref name used to build the current Preview. This is an alias of $TUGBOAT_PREVIEW_REF. | pr381 |
$TUGBOAT_PREVIEW_NAME |
The friendly name of the current Preview. | DRAFT: Add examples to environment variables. |
$TUGBOAT_PREVIEW_REF |
The ref name used to build the current Preview. | pr381 |
$TUGBOAT_PREVIEW_TYPE |
What type of preview this is. | pullrequest |
$TUGBOAT_PREVIEW_SHA |
The git SHA that the preview was built from. | 2b5afb1ac641195fd9c60abaea7943e7b03913cc |
$TUGBOAT_PROJECT_ID |
The ID of the project that the current Preview belongs to. | 5bedc23e72db400001b8d0e5 |
$TUGBOAT_PROJECT |
The friendly name of the project that the current Preview belongs to. | TugboatQA |
$TUGBOAT_REPO_ID |
The ID of the repo that the current Preview belongs to. | 6067617b65f817042a1c367e |
$TUGBOAT_REPO |
The friendly name of the repo that the current Preview belongs to. | TugboatQA/docs |
$TUGBOAT_ROOT |
The filesystem location where the git repository is cloned. | /var/lib/tugboat |
$TUGBOAT_SERVICE_ID |
The ID of the current service. | 65d80b183a26bc1dcec69e21 |
$TUGBOAT_SERVICE |
The friendly name of the current Service. This is also the hostname used to reference this Service container from other Services. | apache |
$TUGBOAT_SMTP |
The hostname of a Tugboat SMTP server that can be used to capture outbound email from the Preview. | tugboat-agent-proxy.tugboatqa.tugboat.qa |
Exposed Service Variables
If a Service has an exposed HTTP port configured, the following variables are also available with information about the Service’s public URL.
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_SERVICE_TOKEN |
The authentication token for the Tugboat Service. This is used by the Tugboat HTTP proxy to grant access to a Service and is passed through mostly as an informational value. Additional verification could be done in the application if necessary. | jkm6qcfq2nutbqjrqdlo66n7zmwbnubb |
$TUGBOAT_SERVICE_URL |
The full URL of the current Service. | https://pr381-jkm6qcfq2nutbqjrqdlo66n7zmwbnubb.tugboatqa.com/ |
$TUGBOAT_SERVICE_URL_PROTOCOL |
The “protocol” part of the current service’s URL. | https |
$TUGBOAT_SERVICE_URL_HOST |
The “host” part of the current service’s URL. | pr381-jkm6qcfq2nutbqjrqdlo66n7zmwbnubb.tugboatqa.com |
$TUGBOAT_SERVICE_URL_PATH |
The “path” part of the current service’s URL. | / |
$TUGBOAT_SERVICE_CONFIG_ALIASES |
A comma-separated list of aliases configured for the current service. | foo,bar,baz.example.com |
$TUGBOAT_SERVICE_CONFIG_DOMAIN |
The configured domain for the current service. | tugboatqa.com |
Base Preview Variables
If a Preview was built from a Base Preview, the following variables are also available with information about the Base Preview.
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_BASE_PREVIEW |
The ref name used to build the Base Preview. This is an alias of $TUGBOAT_BASE_PREVIEW_REF . |
main-node |
$TUGBOAT_BASE_PREVIEW_ID |
The ID of the Base Preview. | 65d809f03a26bc1dcec697d9 |
$TUGBOAT_BASE_PREVIEW_NAME |
The friendly name of the Base Preview. | main-node |
$TUGBOAT_BASE_PREVIEW_REF |
The ref name used to build the Base Preview. | main-node |
$TUGBOAT_BASE_PREVIEW_TYPE |
What type of preview the Base Preview is. The value will be one of: branch , tag , commit , pullrequest , or mergerequest . |
branch |
$TUGBOAT_BASE_PREVIEW_TOKEN |
The authentication token of the Base Preview’s default Service. | k6qz9y79gupbfr4lqko7xaofbazl28em |
$TUGBOAT_BASE_PREVIEW_URL |
The public URL for the Base Preview’s default Service. | https://main-node-k6qz9y79gupbfr4lqko7xaofbazl28em.tugboatqa.com/ |
$TUGBOAT_BASE_PREVIEW_URL_PROTOCOL |
The “protocol” part of the Base Preview’s default Service URL. | https |
$TUGBOAT_BASE_PREVIEW_URL_HOST |
The “host” part of the Base Preview’s default Service URL. | main-node-k6qz9y79gupbfr4lqko7xaofbazl28em.tugboatqa.com |
$TUGBOAT_BASE_PREVIEW_URL_PATH |
The “path” part of the Base Preview’s default Service URL. | / |
Git Provider Variables
These variables are injected into Tugboat Previews that are built from a specific provider repository.
Git (Raw git repo)
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_GIT_REPO |
The address of the git repository. | git@myserver.com:TugboatQA/docs.git |
Bitbucket
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_BITBUCKET_OWNER |
The owner of the Bitbucket repository. | TugboatQA |
$TUGBOAT_BITBUCKET_SLUG |
The URL-friendly name of the Bitbucket repository. See https://confluence.atlassian.com/bitbucket/what-is-a-slug-224395839.html | docs |
$TUGBOAT_BITBUCKET_PR |
PRs Only - The Bitbucket pull request number. | 381 |
$TUGBOAT_BITBUCKET_TITLE |
PRs Only - The title of the Bitbucket pull request. | DRAFT: Add examples to environment variables. |
$TUGBOAT_BITBUCKET_SOURCE |
PRs Only - The name of the pull request source branch. | chris/env-var-examples |
$TUGBOAT_BITBUCKET_DESTINATION |
PRs Only - The name of the pull request destination branch. | main |
GitHub
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_GITHUB_OWNER |
The owner of the GitHub repository. | TugboatQA |
$TUGBOAT_GITHUB_REPO |
The name of the GitHub repository. | docs |
$TUGBOAT_GITHUB_PR |
PRs Only - The GitHub pull request number. | 381 |
$TUGBOAT_GITHUB_TITLE |
PRs Only - The title of the GitHub pull request. | DRAFT: Add examples to environment variables. |
$TUGBOAT_GITHUB_HEAD |
PRs Only - The name of the pull request head branch. | chris/env-var-examples |
$TUGBOAT_GITHUB_BASE |
PRs Only - The name of the pull request base branch. | main |
GitLab
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_GITLAB_NAMESPACE |
The namespace of the GitLab repository. | TugboatQA |
$TUGBOAT_GITLAB_PROJECT |
The project name of the GitLab repository. | docs |
$TUGBOAT_GITLAB_MR |
MRs Only - The GitLab merge request number. | 381 |
$TUGBOAT_GITLAB_TITLE |
MRs Only - The title of the GitLab merge request. | DRAFT: Add examples to environment variables. |
$TUGBOAT_GITLAB_SOURCE |
MRs Only - The name of the merge request source branch. | chris/env-var-examples |
$TUGBOAT_GITLAB_TARGET |
MRs Only - The name of the merge request target branch. | main |
Stash / Bitbucket Server
Variable Name | Description | Example Value |
---|---|---|
$TUGBOAT_STASH_PROJECT |
The project where the repository lives. | TugboatQA |
$TUGBOAT_STASH_SLUG |
The URL-friendly name of the repository. See https://confluence.atlassian.com/bitbucket/what-is-a-slug-224395839.html | docs |
$TUGBOAT_STASH_PR |
PRs Only - The pull request number. | 381 |
$TUGBOAT_STASH_TITLE |
PRs Only - The title of the pull request. | DRAFT: Add examples to environment variables. |
$TUGBOAT_STASH_SOURCE |
PRs Only - The name of the pull request source branch. | chris/env-var-examples |
$TUGBOAT_STASH_DESTINATION |
PRs Only - The name of the pull request destination branch. | main |