|
CI / build (push) Has been cancelled
Details
|
||
|---|---|---|
| .GitLink/workflows | ||
| .gitea/workflows | ||
| .github/workflows | ||
| src | ||
| tests | ||
| .eslintrc.json | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Dockerfile | ||
| README.md | ||
| gitlink-ci-import.yml | ||
| gitlink-pm-editor-ci-minimal.yml | ||
| gitlink-pm-editor-ci-no-uses.yml | ||
| gitlink-pm-editor-ci.yml | ||
| package-lock.json | ||
| package.json | ||
| test-setup.js | ||
| tsconfig.json | ||
README.md
GitLink CI/CD Demo Project(danshen/CI)
一个用于演示 GitLink / GitHub Actions 风格 CI/CD 的示例项目。
项目结构
.
├── .github/workflows/ # GitLink 流水线(轻量引擎:version / type / trigger)
│ ├── ci.yml
│ └── deploy-staging.yml
├── .GitLink/workflows/ # 与 .github/workflows 内容一致(任选其一目录保留即可,避免重复)
│ ├── ci.yml
│ └── deploy-staging.yml
├── Dockerfile
├── src/
├── tests/
├── package.json
├── package-lock.json # 提交到 Git,CI 里 npm ci 需要
├── .gitlab-ci.yml # 若平台支持 GitLab CI,推送后可能自动跑(视 GitLink 而定)
├── gitlink-ci-import.yml # 轻量引擎 version:2 格式(部分导入入口用)
├── gitlink-pm-editor-ci.yml # GitLink「流水线流程编排」编辑器里粘贴用(含诊断步骤)
├── gitlink-pm-editor-ci-minimal.yml # 仅 echo,用来判断跑器/日志是否正常
├── gitlink-pm-editor-ci-no-uses.yml # 不用 actions/*,规避 Marketplace 404
└── README.md
功能特性
- greet(name): 生成问候语
- add(a, b): 加法运算
- isValidEmail(email): 邮箱验证
流水线页是「暂无数据」时(重要)
你在 https://gitlink.org.cn/danshen/CI/actions 看到的是 「暂无数据」 和蓝色 「新建流水线」 按钮。这说明:
当前 GitLink 不会在「流水线」列表里自动出现你在代码里放的 .github/workflows/*.yml。
列表里的每一条流水线,通常要在网页上 点「新建流水线」 创建一次(配置保存在平台里),或按向导 从仓库导入 某个 YAML(若界面提供该选项)。
请按下面顺序操作(名称以你页面上为准):
- 点 「新建流水线」。
- 若向导里让填 流水线名称,例如填:
CI。 - 若有 关联仓库 / 分支,选本仓库
danshen/CI、分支master。 - 若有 「从仓库导入 YAML」/「选择配置文件」:选仓库里的
gitlink-ci-import.yml(与.github/workflows/ci.yml内容相同)。 - 若没有导入选项、而是 「图形化添加步骤」:依次添加等价步骤:检出代码 → Node 20 → 执行
npm ci→npm run lint→npm run type-check→npm test -- --coverage。 - 保存后回到 流水线(devops),应能看到刚建的流水线;再 推送一次
master或点 「运行」 试跑。
仓库根目录已增加 .gitlab-ci.yml。若 GitLink 底层兼容 GitLab Runner,有可能在 其它菜单(如「构建」「CI 配置」)里出现自动流水线;以平台说明为准。
仓库里 YAML 说明(与网页「新建流水线」的关系)
| 文件 | 用途 |
|---|---|
.github/workflows/ci.yml |
GitLink 轻量引擎写法(version: 2 + trigger),供导入或文档对照 |
gitlink-ci-import.yml |
同上,根路径便于在「从仓库选择文件」里选中 |
.gitlab-ci.yml |
标准 GitLab CI,若平台支持则可能在推送后自动执行 |
针对仓库 https://gitlink.org.cn/danshen/CI.git 的操作示例
你的 GitLink 项目页:danshen/CI(默认分支一般是 master)。流水线入口在顶部 「流水线(devops)」。
1. 在本机绑定远程并推送(PowerShell)
在项目根目录执行(若已添加过 origin,先 git remote remove origin):
cd d:\Litter\111
git remote add origin https://gitlink.org.cn/danshen/CI.git
git checkout -B master
git add -A
git status
git commit -m "chore: add CI/CD workflows and demo app"
若远程已有一次提交(例如只有 README.md),第一次推送前需要合并历史:
git pull origin master --allow-unrelated-histories
# 若有冲突,按提示解决后:git add -A && git commit -m "merge remote"
git push -u origin master
若你确认可以覆盖远程、只保留本地这一套代码:
git push -u origin master --force
2. 在网页上点哪里
- 打开:https://gitlink.org.cn/danshen/CI
- 代码库:确认
master上已有最新提交。 - 流水线(devops):若仍为「暂无数据」,按上文 「流水线页是暂无数据时」 用 「新建流水线」 创建。
- 仓库设置:若有「CI / Runner / 构建」相关开关,按 GitLink 帮助 说明打开。
3. 分支说明
工作流里的 ref: refs/heads/master 只对 master 生效。改用 main 时,请把 ci.yml、deploy-staging.yml、gitlink-ci-import.yml 里的 ref 以及 .gitlab-ci.yml 里的 CI_COMMIT_BRANCH 规则一并改掉。
你在 GitLink 上还需要做的事(小结)
- 推送代码到
master(见上文 PowerShell)。 - 在流水线页用「新建流水线」建至少一条流水线(或导入
gitlink-ci-import.yml),否则列表会一直为空。 - 需要第二条「预发布构建」时,再建一条流水线或导入
deploy-staging对应 YAML(见.github/workflows/deploy-staging.yml)。
出现 {"code":500,"msg":"404 NOT_FOUND"} 时
这是 GitLink 网页调接口失败(浏览器 F12 → 网络里能看到某请求返回这段 JSON)。常见含义:请求的资源不存在(例如流水线 ID、Runner 接口、或拉取 actions/* 的地址在你们环境里不存在)。
建议:
- 刷新页面、重新登录后再点「保存 / 运行」。
- 换一个浏览器 / 关代理(公司代理常把未知域名变成 404)。
- 不要用
uses: actions/checkout@v4等试一次:把gitlink-pm-editor-ci-no-uses.yml整段贴进编排编辑器保存再运行(见仓库根目录该文件)。若这样能跑,说明问题在 Marketplace / Action 拉取 一侧。 - 仍出现:把 F12 里失败的那条请求的 URL(可打码 token)和 发生时机(保存时 / 点运行时 / 打开某页时)发给 GitLink 支持 或论坛,这是服务端路由或权限问题。
流水线失败且看不到报错时
- 看运行详情里有没有「日志 / 构建日志 / 步骤」子页:有的平台默认折叠,要点进某一次运行或某个 Job。
- 用极简流水线试跑:把
gitlink-pm-editor-ci-minimal.yml全文粘贴进编排编辑器保存,再点 手动运行。- 若这条都失败或仍无日志:多半是 Runner 未就绪 / 无权限 / 平台未写日志,需在 GitLink 里看 Runner、组织配额 或问 GitLink 支持(帮助中心)。
- 若极简成功、完整 CI 失败:看卡在第一步——卡在
Checkout多为 访问不了 GitHub Marketplace(actions/checkout);卡在npm ci多为 锁文件或网络。把 最后一条有输出的步骤名 记下来对照改。 runs-on: ubuntu-latest若你们不提供该标签,需在 GitLink 文档里改成 平台提供的标签(如linux、self-hosted等)。
开发命令
npm ci
npm run lint
npm run type-check
npm test
npm run build
许可证
MIT License