You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# ci-info
Get details about the current Continuous Integration environment.
Please [open anissue](https://github.com/watson/ci-info/issues/new?template=ci-server-not-detected.md)if your CI server isn't properly detected :)
[](https://www.npmjs.com/package/ci-info)[](https://travis-ci.org/watson/ci-info)[](https://github.com/feross/standard)
## Installation
```bashnpm install ci-info --save```
## Usage
```jsvar ci = require('ci-info')
if (ci.isCI) { console.log('The name of the CI server is:', ci.name)} else { console.log('This program is not running on a CI server')}```
## Supported CI tools
Officially supported CI servers:
| Name | Constant ||------|----------|| [AWS CodeBuild](https://aws.amazon.com/codebuild/) | `ci.CODEBUILD` || [AppVeyor](http://www.appveyor.com) | `ci.APPVEYOR` || [Bamboo](https://www.atlassian.com/software/bamboo) by Atlassian | `ci.BAMBOO` || [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) | `ci.BITBUCKET` || [Bitrise](https://www.bitrise.io/) | `ci.BITRISE` || [Buddy](https://buddy.works/) | `ci.BUDDY` || [Buildkite](https://buildkite.com) | `ci.BUILDKITE` || [CircleCI](http://circleci.com) | `ci.CIRCLE` || [Cirrus CI](https://cirrus-ci.org) | `ci.CIRRUS` || [Codeship](https://codeship.com) | `ci.CODESHIP` || [Drone](https://drone.io) | `ci.DRONE` || [dsari](https://github.com/rfinnie/dsari) | `ci.DSARI` || [GitLab CI](https://about.gitlab.com/gitlab-ci/) | `ci.GITLAB` || [GoCD](https://www.go.cd/) | `ci.GOCD` || [Hudson](http://hudson-ci.org) | `ci.HUDSON` || [Jenkins CI](https://jenkins-ci.org) | `ci.JENKINS` || [Magnum CI](https://magnum-ci.com) | `ci.MAGNUM` || [Sail CI](https://sail.ci/) | `ci.SAIL` || [Semaphore](https://semaphoreci.com) | `ci.SEMAPHORE` || [Shippable](https://www.shippable.com/) | `ci.SHIPPABLE` || [Solano CI](https://www.solanolabs.com/) | `ci.SOLANO` || [Strider CD](https://strider-cd.github.io/) | `ci.STRIDER` || [TaskCluster](http://docs.taskcluster.net) | `ci.TASKCLUSTER` || [Team Foundation Server](https://www.visualstudio.com/en-us/products/tfs-overview-vs.aspx) by Microsoft | `ci.TFS` || [TeamCity](https://www.jetbrains.com/teamcity/) by JetBrains | `ci.TEAMCITY` || [Travis CI](http://travis-ci.org) | `ci.TRAVIS` |
## API
### `ci.name`
A string. Will contain the name of the CI server the code is running on.If not CI server is detected, it will be `null`.
Don't depend on the value of this string not to change for a specificvendor. If you find your self writing `ci.name === 'Travis CI'`, youmost likely want to use `ci.TRAVIS` instead.
### `ci.isCI`
A boolean. Will be `true` if the code is running on a CI server.Otherwise `false`.
Some CI servers not listed here might still trigger the `ci.isCI`boolean to be set to `true` if they use certain vendor neutralenvironment variables. In those cases `ci.name` will be `null` and novendor specific boolean will be set to `true`.
### `ci.isPR`
A boolean if PR detection is supported for the current CI server. Willbe `true` if a PR is being tested. Otherwise `false`. If PR detection isnot supported for the current CI server, the value will be `null`.
### `ci.<VENDOR-CONSTANT>`
A vendor specific boolean constants is exposed for each support CIvendor. A constant will be `true` if the code is determined to run onthe given CI server. Otherwise `false`.
Examples of vendor constants are `ci.TRAVIS` or `ci.APPVEYOR`. For acomplete list, see the support table above.
Deprecated vendor constants that will be removed in the next majorrelease:
- `ci.TDDIUM` (Solano CI) This have been renamed `ci.SOLANO`
## License
[MIT](LICENSE)
|