# jianmu-npm-publish-cst
**Repository Path**: richardctt/jianmu-npm-publish-cst
## Basic Information
- **Project Name**: jianmu-npm-publish-cst
- **Description**: 建木npm publish节点,个人期末作业
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-05-13
- **Last Updated**: 2022-05-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# npm publish节点
## 一、功能
- 用来发布npm包
- 指定npm的仓库url、设置版本信息、打上版本标记。
- 检测package.json的存在性
- 检测README.md的存在性
## 二、输入参数
### 参数一览
| 唯一参数标识 | 参数名称 | 参数类型 | 参数默认值 | 是/否必填 |
| ------------ | ------------- | -------- | --------------------------- | --------- |
| dir | 源文件路径 | String | 无 | 是 |
| user_token | 用户账户token | SECRET | 无 | 是 |
| version | 版本号 | String | 无 | 否 |
| tag | 版本标记 | String | 无 | 否 |
| registry | 仓库 | String | https://registry.npmjs.org/ | 否 |
### 参数详细描述
| 唯一参数标识 | 描述 |
| ------------ | :----------------------------------------------------------- |
| dir | 存放待发布包源文件的路径。
该路径是一个存有package.json文件的文件夹 |
| user_token | npm仓库的账号的token。
该token需要具有publish权限 |
| version | 待发布包的版本,默认是从package.json中获取。
填写后则会更改package.json中的版本并以该版本发布 |
| tag | 版本标识,默认为latest |
| registry | 目的仓库的url,默认为官方仓库。 |
## 三、输出参数
### 参数一览
| 唯一参数标识 | 参数名称 | 参数类型 | 参数默认值 | 是/否必填 |
| ---------------- | -------- | -------- | ---------- | --------- |
| package_name | 包名 | String | 无 | 是 |
| package_version | 版本 | String | 无 | 是 |
| publish_registry | 仓库url | String | 无 | 是 |
### 参数详细描述
| 唯一参数标识 | 描述 |
| ---------------- | -------------------- |
| package_name | package.json中的包名 |
| package_version | 发布时的包版本 |
| publish_registry | 发布包的仓库url |
## 四、镜像构建
通过DockerFile构建镜像,进入项目文件夹后运行
```shell
docker build -t jianmudev/jianmu-npm-publish-cst:1.0.0 -f DockerFile/dockerFile .
```
## 五、节点建议使用方法
在节点的使用过程中建议配合远程仓库的拉取、推送节点,先将项目从远程仓库拉取到建木共享文件夹后,使用本节点将包发布,考虑到本节点可能会对package.json发生修改,所以建议将远程仓库推送类节点作为该节点的后续节点。
下图是以git_clone和git_push节点作为其上下游节点的示例。
```flow
开始=>start: 开始
结束=>end: 结束
git克隆=>operation: git克隆节点
npm_publish=>operation: npm publish节点
git推送=>operation: git push节点
开始->git克隆->npm_publish->git推送->结束
```