betomorrow/ci-nodeci-node是一个专为GitLab CI/CD流水线设计的便捷Docker镜像,提供启用corepack的Node环境及nvm(Node Version Manager),支持灵活切换任意Node版本。集成多种开发、部署工具,简化CI/CD流程中的环境配置与云服务交互。
SSH客户端已预配置gitlab.com和github.com的SSH主机密钥(详见known_hosts)。
| 变量前缀 | 描述 |
|---|---|
CIBTO_SSH_KEY_[...] | 以该前缀命名的变量值将被写入磁盘,同时创建CIBTO_SSH_KEY_[...]_PATH变量存储文件路径,密钥自动添加至ssh-agent |
CIBTO_SSH_KNOWN_HOST_[...] | 以该前缀命名的变量值将被添加至sshd known hosts文件 |
| 变量名 | 描述 |
|---|---|
CIBTO_GIT_USER_EMAIL | 设置git全局用户*** |
CIBTO_GIT_USER_NAME | 设置git全局用户名 |
| 命令格式 | 描述 |
|---|---|
git-set-key <key_path> | 配置git使用指定密钥路径的SSH连接,并禁用StrictHostKeyChecking选项 |
默认区域:eu-west-1
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_AWS_ECR_AUTO_LOGIN | 启用ECR自动登录(默认:0,不启用) |
CIBTO_AWS_S3_ENDPOINT | 设置S3端点(如[***]) |
命令
| 命令格式 | 描述 |
|---|---|
aws-ecr-login <region> | 登录指定区域的ECR仓库 |
无特定命令或环境变量。
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_GCLOUD_AR_AUTO_LOGIN | 启用Artifact Registry自动登录(默认:0,不启用) |
CIBTO_AZURE_RM_SUBSCRIPTION_ID | 设置Azure订阅ID(注:该变量名称可能为文档笔误,实际属于Azure配置) |
CIBTO_AZURE_RM_TENANT_ID | 设置Azure订阅租户ID(注:同上) |
CIBTO_AZURE_RM_CLIENT_ID | 设置Azure服务主体应用ID(注:同上) |
CIBTO_AZURE_RM_CLIENT_SECRET | 设置Azure服务主体密钥(注:同上) |
命令
bashpush_web_preview <src_path|docker_tag> <app_name>
描述:部署Web预览。
index.html的目录路径;SPA需将index.html复制为_errors.html以处理路由错误。app_name为提示性名称(如backend/frontend、storybook)。命令
bashpush_mobile_preview <filename> <filepath> <app_name>
描述:部署移动应用预览。
filename:下载时显示的文件名filepath:构建产物的系统路径app_name:提示性名称(如android/ios)| 变量名 | 描述 |
|---|---|
CIBTO_PREVIEWS_SERVER_URL | 预览服务器URL(如[***]) |
CIBTO_PREVIEWS_TOKEN | 预览服务器JWT认证令牌 |
CIBTO_PREVIEWS_SLACK_HOOK_URL | (可选)Slack通知Webhook URL |
环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_DTRACK_HOST | 设置Dependency Track主机 |
CIBTO_DTRACK_API_KEY | 设置Dependency Track API密钥 |
命令
bashdtrack-upload -g <GROUP_NAME> -p <PROJECT_NAME> -b <BOM.json>
描述:上传BOM文件至Dependency Track。
-g:指定项目组名-p:指定项目名-b:BOM文件路径环境变量
| 变量名 | 描述 |
|---|---|
CIBTO_DEBUG | 设置任意值以启用镜像内置脚本的调试信息输出 |
bashdocker run --rm -it ci-node:v17 bash
在.gitlab-ci.yml中使用:
yamlstages: - build - deploy build-node-app: image: ci-node:v17 stage: build variables: CIBTO_GIT_USER_NAME: "CI Bot" CIBTO_GIT_USER_*** "***" script: - nvm use 18 # 切换Node版本 - npm install - npm run build deploy-preview: image: ci-node:v17 stage: deploy variables: CIBTO_PREVIEWS_SERVER_URL: "[***]" CIBTO_PREVIEWS_TOKEN: "$PREVIEW_TOKEN" script: - push_web_preview ./dist frontend-app
| 类别 | 变量名 | 描述 | 默认值 |
|---|---|---|---|
| SSH | CIBTO_SSH_KEY_[...] | 密钥变量,自动生成路径变量并添加至ssh-agent | - |
| SSH | CIBTO_SSH_KNOWN_HOST_[...] | 添加至sshd known hosts的主机密钥 | - |
| Git | CIBTO_GIT_USER_EMAIL | Git全局用户*** | - |
| Git | CIBTO_GIT_USER_NAME | Git全局用户名 | - |
| AWS | CIBTO_AWS_ECR_AUTO_LOGIN | 启用ECR自动登录 | 0 |
| AWS | CIBTO_AWS_S3_ENDPOINT | S3端点URL | - |
| GCP | CIBTO_GCLOUD_AR_AUTO_LOGIN | 启用GCP Artifact Registry自动登录 | 0 |
| Azure | CIBTO_AZURE_RM_SUBSCRIPTION_ID | Azure订阅ID | - |
| Azure | CIBTO_AZURE_RM_TENANT_ID | Azure租户ID | - |
| Azure | CIBTO_AZURE_RM_CLIENT_ID | Azure服务主体应用ID | - |
| Azure | CIBTO_AZURE_RM_CLIENT_SECRET | Azure服务主体密钥 | - |
| 预览部署 | CIBTO_PREVIEWS_SERVER_URL | 预览服务器URL | - |
| 预览部署 | CIBTO_PREVIEWS_TOKEN | 预览服务器JWT令牌 | - |
| 预览部署 | CIBTO_PREVIEWS_SLACK_HOOK_URL | Slack通知Webhook | - |
| Dependency Track | CIBTO_DTRACK_HOST | Dependency Track主机 | - |
| Dependency Track | CIBTO_DTRACK_API_KEY | Dependency Track API密钥 | - |
| 调试 | CIBTO_DEBUG | 启用调试信息输出 | - |

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务