在 artifactory 中存储 angular dist 文件夹

Vin*_*hat 8 artifactory gitlab-ci angular

我们使用 artifactory 来拉库和存储工件。我们将 npm 注册表设置为这个 artifactory url 以下拉库。我们使用 gitlab 作为我们的 CI。我写了一份使用 ng build --prod 构建 angular 应用程序的工作。我的问题是将 dist/ 文件夹推送到 artifactory 的最佳实践是什么?在下一步中,我将检索 dist/ 文件夹并使用 cf push 将其部署到 cloud Foundry。我查看了 npm install,但它说它需要一个 package.json。我在 dist 文件夹中创建一个吗?如果是这样,我在那里放什么?另一种选择似乎是对 dist/ 进行 tar,但这似乎也需要 package.json。任何想法都非常感谢。

我尝试使用 artifactory 的 REST API 推送文件夹并使用 --data-binary 卷曲,但这仅支持单个文件(如预期)

curl -u $ARTIFACTORY_USER:$ARTIFACTORY_APIKEY --data-binary @$RELEASE_PACKAGE -X PUT $ARTIFACTORY_URL/artifactory/

我希望能够推送整个 dist 文件夹,以便我可以检索和部署它。但是,我不知道最佳实践是什么(如果推送文件夹是正确的,还是应该推送 tar.gz)

Dil*_*aka 0

如下所示,您可以dist在构建阶段(packing在我的示例中)设置文件夹的工件路径。在下一个阶段(deploying在示例中),您可以添加上一个阶段的依赖项。然后该dist文件夹中的文件将在此阶段可用。

packaging:
  stage: packaging
  artifacts:
     paths:
       - /dist

deploying:
  stage: deploying
  dependencies:
    - packaging
Run Code Online (Sandbox Code Playgroud)

  • 我能够将 dist 目录压缩为 tar.gz 并使用其余 api 将其推送到artificialory 中,然后使用curl 将其拉下来,解压缩并delpoy。所以唯一的问题是围绕角度应用程序的最佳实践。人们是否遵循我上面列出的方法还是有更好的方法? (4认同)