跳到主要内容

核心 core(@serverless-cd/core)

安装

$ npm install @serverless-cd/core --save

parseSpec

获取 pipeline 文件里的 steps 数据以及 env 逻辑处理

yaml 示例

env:
name: serverless-cd
steps:
- run: echo 'Hi ${{ env.name }}'
- run: echo 'Hi ${{ env.name }}'
env:
name: Tony

代码示例

import core from "@serverless-cd/core";
import path from "path";
const TEMPLATE_YAML = "serverless-pipeline.yaml";

const res = core.parseSpec(path.join(__dirname, TEMPLATE_YAML));
console.log(res);

输出

{
"steps": [
{
"run": "echo 'Hi ${{ env.name }}'",
"env": {
"name": "serverless-cd"
}
},
{
"run": "echo 'Hi ${{ env.name }}'",
"env": {
"name": "Tony"
}
}
]
}

parseSpec(value)

参数说明类型必填默认值
valuepipeline 文件路径string

getRef

通过 branch 或者 tag 获取到 ref

branch 代码示例

import core from "@serverless-cd/core";
const res = core.getRef({ type: "branch", value: "main" });
console.log(res);

输出

refs/heads/main

tag 代码示例

import core from "@serverless-cd/core";
const res = core.getRef({ type: "tag", value: "v0.0.1" });
console.log(res);

输出

refs/tags/v0.0.1

getRef({type: 'branch', value: 'main'})

参数说明类型必填默认值
type表示分支还是 tag 的 ref枚举类型:branch、tag
value分支或者 tag 的值string

parseRef(value)

解析 ref 得到 branch 或者 tag 的值

ref 为 branch 代码示例

import core from "@serverless-cd/core";
const res = core.parseRef("refs/heads/main");
console.log(res);

输出

{
"type": "branch",
"value": "master"
}

ref 为 tag 代码示例

import core from "@serverless-cd/core";
const res = core.parseRef("refs/tags/v0.0.1");
console.log(res);

输出

{
"type": "tag",
"value": "v0.0.1"
}

parseRef(value)

参数说明类型必填默认值
valueref 的值string