上传 Npm 制品

# 介绍

本文将介绍如何通过 云原生构建 自动发布 Npm 包到制品库。

# 操作步骤

# 配置访问令牌

进入 制品仓库 -> 仓库管理 的对应 Npm 仓库。

点击 操作指引, 在 配置凭据 里生成个人令牌。

记下 用户名密码邮箱registry 地址

经过尝试,用后续插件 tencentcom/npmregistry 地址 需要以 / 结束。

# 编写敏感信息文件

为降低敏感信息泄露风险, 参考 pipeline.imports, 在另一个项目仓库文件(比如:npm.yml)保存之前得到的 用户名密码

敏感信息配置文件示例:

NPM_USERNAME: xxx
NPM_PASSWORD: xxx

# 配置 package.json

因为是私有源,在 package.json 中 添加\修改 配置 publishConfig.registry 为上面记下的 registry 地址

{
  "publishConfig": {
    "registry": "https://xxx.net/xxx/npm-test/"
  },
}

# 编写流水线配置文件

使用 tencentcom/npm 插件进行 npm publish

# 分支名
npm-demo:
  # 新 tag
  tag_push:
    # 记录 账号、密码 等敏感信息配置文件
    - imports: https://xxx.net/xxx/git/tree/master/npm.yml
      stages:
        - name: npm publish
          image: tencentcom/npm
          settings:
            # 引用环境变量里的账号、密码
            username: $NPM_USERNAME
            password: $NPM_PASSWORD
            # 前面记录的 邮箱
            email: xxx@xxx.com
            # 同 package.json 理的 publishConfig.registry 保持一致
            registry: https://xxx.net/xxx/npm-test/

# 查看结果

提交代码后触发对应分支 push 事件,执行对应流水线,可以看到流水线执行成功。在对应制品库里也能看到最新上传的 Npm 包。