是否可以在没有发布语义发布的情况下生成工件?

时间:2019-09-06 09:07:25

标签: semantic-release

我目前正在使用语义发布来对我的React库进行版本控制。
https://github.com/semantic-release/semantic-release

问题: 无需发布就可以生成工件吗?

例如,在我的用例中,我想生成: -版本发行号(@ semantic-release / commit-analyzer) -将发布到npm的tar文件(@ semantic-release / npm) -更改日志(@ semantic-release / release-notes-generator)

如果运行空运行选项,它将打印版本发行号和更改日志到控制台,但是我想将其存储到文件中。一种解决方法是,我可以通过管道传递结果,然后进行解析,但是如果它可以通过插件,并且可以在空运行期间将数据放入文件中,那就太好了。

空运行将不会运行发布阶段,在发布阶段文件会被压缩。

任何忠告, 谢谢, 德里克

2 个答案:

答案 0 :(得分:0)

您可以使用@semantic-release/npm插件的npmPublish option。这将为npm软件包生成tar文件,但不会将其发布到npm注册表中。

答案 1 :(得分:0)

// 在 package.json 文件中添加以下属性以确保 npm 不会发布

"private": "true"

// 在您的 github 操作的工作流/release.yml 文件中,使用以下内容来存储您的 tar 文件

- run: | 
      mkdir -p ~/new/artifact
      echo ${{contents_of_your_file}} > ~/new/artifact/yourtarfile

  - uses: actions/upload-artifact@v2
    with:
      name: artifactname
      path: '~/new/**/*'

  - name: download
    uses: actions/download-artifact@v1
    with:
      name: artifactname
      path: '~/new/**/*'