CI FAQ
约 2 分钟阅读
标签:FAQ
env
- drone
DRONE_前缀
- woodpecker
- drone fork
CI_前缀
- GitHub Action
GITHUB_前缀
# CI 环境识别
# ============
CI=true
CI=1
CI=woodpecker
GITLAB_CI=true
DRONE=true
GITHUB_ACTIONS=true
# Runtime & CI
VERCEL=1
RENDER=true
CLOUDFLARE_ACCOUNT_ID=
# CSV/Git 信息
# ============
CI_COMMIT_SHA=
CI_COMMIT_SHORT_SHA=$(git rev-parse --short HEAD)
CI_COMMIT_TAG=
CI_COMMIT_TAG_MESSAGE=
CI_COMMIT_TIMESTAMP=
CI_COMMIT_MESSAGE=
CI_COMMIT_DESCRIPTION=
CI_COMMIT_BRANCH=
CI_COMMIT_REF=
CI_COMMIT_REF_NAME=
CI_COMMIT_REF_SLUG=$(echo $CI_COMMIT_REF_NAME | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]//g' | sed 's/^-//g' | sed 's/-*$//g' | sed 's/-\{2,\}/-/g')
CI_COMMIT_BEFORE_SHA=0000000000000000000000000000000000000000
# Gitlab
# ============
CI_REGISTRY=
CI_REGISTRY_USER=
CI_REGISTRY_PASSWORD=
CI_REGISTRY_IMAGE=
CI_DEFAULT_BRANCH=
CI_REPOSITORY_URL=
# GitHub
# ============
GITHUB_ACTION=__repo-owner_name-of-action-repo
# Jenkins
# ============
JOB_NAME=
JOB_URL=
EXECUTOR_NUMBER=0
BUILD_NUMBER=1
GIT_COMMIT=
# GIT_{COMMITTER,AUTHOR}_{NAME,EMAIL}=
GIT_URL=
GIT_BRANCH=
GIT_LOCAL_BRANCH=
GIT_PREVIOUS_COMMIT=
GIT_PREVIOUS_SUCCESSFUL_COMMIT=- docs.drone.io/pipeline/environment/reference
- docs.gitlab.com/ee/ci/variables/predefined_variables.html
- woodpecker-ci.org/docs/next/usage/environment
- www.jenkins.io/doc/book/pipeline/jenkinsfileLinkwww.jenkins.io/doc/book/pipeline/jenkinsfilehttps://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/ · https://www.jenkins.io/doc/book/pipeline/jenkinsfile/ · Docker笔记:Jenkinsfile
- GitHub Action Variables
- Vercel Environment Variables
- developers.cloudflare.com/workers/wrangler/system-environment-variables
snipptes
- NPM_TOKEN
A://registry.npmjs.org:_authToken,B://registry.npmjs.org:_authToken
# TOKEN://registry
[ -n "$NPM_TOKEN" ] && {
echo NPM Login
echo "$NPM_TOKEN" |
tr ',' '\n' |
xargs -I {} sh -c 'X="{}";npm config set -L user "$(echo $X|cut -d: -f2- ):_authToken" "$(echo $X|cut -d: -f1)"'
}
[ -z "$DOCKER_REGISTRY" ] || docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" "$DOCKER_REGISTRY"
# github secrets
[ -z "${{ secrets.DOCKER_REGISTRY }}" ] || docker login -u "${{ secrets.DOCKER_USERNAME }}" -p "${{ secrets.DOCKER_PASSWORD }}" "${{ secrets.DOCKER_REGISTRY }}"- name: Install
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
set -e
# TOKEN://registry
[ -n "$NPM_TOKEN" ] && {
echo NPM Login
echo "$NPM_TOKEN" |
tr ',' '\n' |
xargs -I {} sh -c 'X="{}";npm config set -L user "$(echo $X|cut -d: -f2- ):_authToken" "$(echo $X|cut -d: -f1)"'
}
time npm add -g pnpm@latest
time CI=true \
PUPPETEER_SKIP_DOWNLOAD=true \
make install关联信息
反向链接、本文链接的其他页面和外部资料。
References
GitHub1 条
- woodpecker-ci/woodpecker/pipeline/frontend/metadata.go#L146-L243github.com/woodpecker-ci/woodpecker/blob/e408c1ba27f7b1e1f769739d5042c58c643d2130/pipeline/frontend/metadata.go
其他外链7 条
- developers.cloudflare.com/workers/wrangler/system-environment-variablesdevelopers.cloudflare.com/workers/wrangler/system-environment-variables
- docs.drone.io/pipeline/environment/referencedocs.drone.io/pipeline/environment/reference
- docs.github.com/en/actions/learn-github-actions/variablesdocs.github.com/en/actions/learn-github-actions/variables
- docs.gitlab.com/ee/ci/variables/predefined_variables.htmldocs.gitlab.com/ee/ci/variables/predefined_variables.html
- vercel.com/docs/concepts/projects/environment-variables/system-environment-variablesvercel.com/docs/concepts/projects/environment-variables/system-environment-variables
- woodpecker-ci.org/docs/next/usage/environmentwoodpecker-ci.org/docs/next/usage/environment
- www.jenkins.io/doc/book/pipeline/jenkinsfilewww.jenkins.io/doc/book/pipeline/jenkinsfile