cross-ci
standardizes environment variables for CI. For example, your can simply use BUILD_BRANCH
variable in all CI runners instead of CIRCLE_BRANCH
in CircleCI or TRAVIS_PULL_REQUEST_BRANCH
in Travis.
const vars = require('cross-ci').vars;
npx cross-ci printenv BUILD_COMMIT_URL
BUILD_BRANCH
BUILD_COMMIT_PR_URL
BUILD_COMMIT_URL
BUILD_COMMIT
BUILD_COMMIT7
BUILD_DIR
BUILD_NUM
BUILD_PR_NUM
BUILD_PR_URL
BUILD_URL
BUILD_VERSION
CI_NAME
CI_PLATFORM
GIT_PLATFORM
GIT_REMOTE
GITHUB_TOKEN
IS_CI
IS_PR
IS_RELEASE
JOB_NUM
JOB_URL
MONTH
PROJECT_NAME
PROJECT_OWNER
PROJECT_URL
PROJECT_VERSION
RELEASE_BRANCHES
TIME
TIMESTAMP
UPLOAD_PATH
YEAR
npx cross-ci :echo node --eval "\"console.log('\${PROJECT_NAME}')\""
npx cross-ci :run node --eval "\"console.log('\${PROJECT_NAME}')\""Provide Evn Vars to Webpack, from
package.json
{ "scripts": { "build": "cross-ci webpack -p" } }
npx cross-ci :run \ npx commit-status success Storybook "'\${BUILD_VERSION}'" "'https://example.com'"
npx cross-ci :run \ s3 sync ./public "s3://bucket/builds/\${PROJECT_NAME}/\${BUILD_VERSION}/public" \ --region eu-west-1 \ --acl public-read
npx cross-ci :run \ curl -X POST -H 'Content-type: application/json' \ --data "'{\ \"text\":\"Built \\\`<\${PROJECT_URL}|\${PROJECT_NAME}>\\\` :crossed_fingers: \\\`<\${BRANCH_URL}|\${BUILD_BRANCH}>\\\` :crossed_fingers: \\\`\${BUILD_VERSION}\\\` on <\${BUILD_URL}|\${CI_NAME}> :tada:\", \ \"username\": \"cross-ci\", \ \"icon_emoji\": \":clap:\"}'" \ https://hooks.slack.com/services/XXXX/XXXX/XXXXXXXX
GITHUB_TOKEN=XXXXXXXX \ npx cross-ci :run \ curl -X POST -H "Content-Type: application/json" \ --data "'{\"body\": \"Build version: \\\`\${BUILD_VERSION}\\\` :crossed_fingers: [\\\`\${BUILD_BRANCH}\\\`](\${BRANCH_URL}) on [\${CI_NAME}](\${BUILD_URL}) :tada:\"}'" \ "https://api.github.com/repos/\${PROJECT_OWNER}/\${PROJECT_NAME}/issues/\${BUILD_PR_NUM}/comments?access_token=\${GITHUB_TOKEN}"
Git branch being built or targeted by a pull request.
URL of PR build commit.
URL of build commit.
SHA1 of the Git commit being built.
First 7 chars of SHA1 of the Git commit being built.
Path to repository folder.
CI service build number.
Pull request (aka Merge request) number. Defaults to 0
.
URL to GitHub PR page.
URL to CI build page.
A human-readable string uniquely identifying current build. For pull requests will equal to something like x.y.z-pr-1.1
. For build jobs that are not part of a pull request, it will contain a branch name, like x.y.z-master.1
.
CI service Commercial name (e.g. Travis
, CircleCI
, TeamCity
).
Standardized CI service name (e.g. travis
, circle
, gitlab
).
Git version control system used
Git remote used.
Equals to GITHUB_TOKEN
, GITHUB_ACCESS_TOKEN
, GH_TOKEN
, or GIT_CREDENTIALS
environment variables, in that order.
Boolean indicating if script runs in a CI environment.
Boolean, true
if the current build is triggered by a pull request.
Is true
if currently built branch is one of RELEASE_BRANCHES
.
CI service job number
Link to the CI service job
Current month numeric value as a string of length two.
GitHub project name.
User name or organization name that owns the repository.
Link to project on GitHub.
Semver version of your project. Taken from package.json
. Othewise defaults to 0.0.0
.
Names of branches which should trigger a release, defaults to ['master', 'production']
.
Current time in UTC format.
UNIX timestamp.
Relative upload path for artifacts. Defaults to:
builds/${PROJECT_NAME}/${BUILD_VERSION}
Current year as a four character long string.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4