Github private repo-管理不同环境的包
最近,我们将Db模型(Sequelize)移动到了sperate存储库,并使用Github包发布它 当我们将其移动到sperate存储库时,我们发现需要根据环境安装不同的版本(生产/暂存/开发)Github private repo-管理不同环境的包,github,npm,version-control,github-package-registry,Github,Npm,Version Control,Github Package Registry,最近,我们将Db模型(Sequelize)移动到了sperate存储库,并使用Github包发布它 当我们将其移动到sperate存储库时,我们发现需要根据环境安装不同的版本(生产/暂存/开发) 例如: 生产版本需要v1.2 登台需要v1.3等 因为我们希望避免手动进入每个依赖服务并更新所需的版本,所以我们希望使用dist标记来管理它 因为我们将根据环境将package.jsonpull包版本标记为“staging”和“production”,我们希望发布一个新版本,例如将1.3标记为“pr
例如:
- 生产版本需要v1.2
- 登台需要v1.3等
package.json
pull包版本标记为“staging”和“production”,我们希望发布一个新版本,例如将1.3标记为“production”
不幸的是,dist标记
在GitHub注册表上似乎不受支持,因此我们正在寻找其他方法
有什么建议吗?如果可能(意味着如果没有敏感信息,尤其是生产参数),您可以将三个单独的文件版本设置为:
- package.json.dev
- package.json.stg
- package.json.prd
生成脚本将使用以下命令确定签出分支的名称:
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
这意味着你可以:
- 仅版本模板文件
package.json.tpl
- 以分支命名的版本值文件:
,package.json.dev
:由于它们不同,因此在合并或切换分支时没有合并问题package.json.stg
package.json.tpl
)关联的smudge
脚本将(在git签出时自动)通过查看右侧版本中的值来生成实际的package.json
文件。
值文件。
生成的实际package.json
文件仍然被忽略(被.gitignore
)
请参阅“”中的完整示例