我在Java团队中,需要多个存储库来访问与CI / CD相关的bash脚本文件的共享集。在Node团队中,我将发布一个私有NPM软件包,该软件包通过package.json
的{{3}}条目公开这些脚本,其他项目在完成npm install
之后可以使用。
我不确定是否有将NPM引入该项目的好主意,因此我需要帮助以了解在面向Java的上下文中最佳方法是什么。
答案 0 :(得分:1)
如果仅CI / CD需要脚本,则应在此处进行管理,尤其是在构建之间共享它们时。通过使用带有package.json
脚本的JAR并将其解压缩作为构建的一部分,您可以复制bin
的功能,但这是一个脆弱的解决方案。
现代CI / CD解决方案使用Docker容器提升构建环境(例如CircleCI,CloudBees)。您可以将bin
脚本添加到用于启动构建环境节点的Docker映像中。
如果这不可能,您仍然应该能够定义构建步骤或管道。定义一个通用的构建步骤来安装这些脚本。