0

我需要将 git-dependencies 中的分支名称作为参数传递。但在我的 中packages.json,我无法这样做。该结构如下所示:

{
    "servers" : [
            ...
             ],
    "target" : "apps",
    "git" : {
            "git-remote" : "..."
        },
    "source" : {
            "git-dependencies-path": "../",
            "source-packages-path" : "../"
           },
    "wiki" : {
            "local-wiki-path" : "../",
            "git-wiki-path" : ""
         },
        "git-dependencies" : [  {"repository" : "application/app1", "branch" : "development", "source-packages" : [ "."]}, //the branch name I want to parameterize}],
   }
4

1 回答 1

0

我建议将决赛的主体packages.json放在 a 中.template,并在 ci 运行时简单地附加分支名称和关闭括号等。您可以在 git 中保留您的“真实” package.json,然后也可以将其覆盖。

package.json.template

{
    "servers" : [
            ...
             ],
    "target" : "apps",
    "git" : {
            "git-remote" : "..."
        },
    "source" : {
            "git-dependencies-path": "../",
            "source-packages-path" : "../"
           },
    "wiki" : {
            "local-wiki-path" : "../",
            "git-wiki-path" : ""
         },
        "git-dependencies" : [  {"repository" : "application/app1", "branch" : "development", "source-packages" : [ "

gitlab-ci.yml

- before_script: |
    cp packages.json.template packages.json
    echo "${CI_COMMIT_REF_NAME}" >> packages.json
    echo '"]},}' >> packages.json

如果您有更多的填充需求,packages.json我建议您使用带有字符串模板jinja 模板的 python 脚本

于 2019-06-14T11:24:36.120 回答