npm-get-version-action 使用指南
项目介绍
npm-get-version-action 是一个专为 GitHub Actions 设计的开源工具,旨在自动化地从 package.json
文件中提取版本号,并将其作为输出变量提供给工作流的后续步骤。这在持续集成和部署(CI/CD)流程中尤其有用,帮助确保操作基于正确的软件版本。
项目快速启动
要立即在您的 GitHub 工作流中集成此行动,请遵循以下简单步骤:
安装及配置基本使用
在您的.github/workflows
目录下的YAML文件中,添加以下段落来调用此行动:
name: Get NPM Version
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get NPM Package Version
id: package-version
uses: martinbeentjes/npm-get-version-action@v1.3.1
- run: echo "The package version is ${{ steps.package-version.outputs.current-version }}"
此配置会在每次推送事件触发时执行,获取 package.json
的版本信息并打印出来。
处理单个包或子目录中的包
如果您在多库仓库(monorepo)中工作,需要指定package.json
路径,可以这样做:
uses: martinbeentjes/npm-get-version-action@v1.3.1
with:
path: packages/my-package
应用案例与最佳实践
- 版本验证:在构建之前验证项目是否匹配预期版本。
- 动态标签创建:根据提取的版本自动创建Git标签。
- 发布流程:在自动化发布的步骤中,确保使用正确版本号进行NPM包的打包和上传。
示例:将版本号用于打标
如果你想在成功构建后根据版本号打上git标签,你可以这样写:
- name: Create Git Tag
run: |
git tag "v${{ steps.package-version.outputs.current-version }}"
git push --tags
典型生态项目结合
虽然这个action本身专注于单一任务——提取版本号——但其在现代开发流程中的应用是广泛的。它无缝集成于任何依赖版本信息的GitHub Actions链中,比如:
- 结合GitHub Release自动创建带有详细版本信息的发布。
- 配合npm-publish action,实现版本自增和私有/公共npm包的自动发布。
- 在微服务架构或多项目环境中,与各服务的构建和部署流程集成,确保版本一致性。
通过以上内容,您可以高效地利用npm-get-version-action
提升您项目CI/CD流程的专业性和自动化程度。