jenkins使用主仓库推送子模块

时间:2016-09-20 10:41:56

标签: git jenkins gulp jenkins-plugins

我在github上有一个JavaScript Repo,它使用gulp来创建构建。 Gulp在主项目中创建文件夹名称 dist

gulp build

我想要实现的是,我应该将此 dist 文件夹推送到其他一些git repo,这样任何人都只能使用git进行构建,无需担心开发代码。

我在这里采用了git子模块https://git-scm.com/book/en/v2/Git-Tools-Submodules。按照这篇文章,我可以手动实现。

为了实现这一点,我创建了

  • Jekins的工作克隆了这个主要的回购,并使用gulp在Jenkins上创建了一个构建。比我在Execute shell

    中的代码下运行

    cd dist

    git submodule init

    git submodule update

    git fetch

    git merge origin / master

    git checkout master

    cd ../

    gulp //这会使用新文件(如果有的话)更新dist文件夹

    cd dist

    git add -A

    git commit -am"添加了测试文件"

    git push // not working

有git发布商的选项,但是没有看到子模块推送的任何选项。我还需要更新我的主要仓库,它保留了子模块版本的跟踪

任何建议或文章参考都会有帮助吗?还有其他方法可以达到这个目的吗?

由于

1 个答案:

答案 0 :(得分:0)

答案

采取另一种方法来做到这一点。而不是一个工作创造了2个工作

  1. 第一个完成拉动主项目并创建构建的工作。创建构建后,使用Copy Artifact Plugin对其进行存档。
  2. 其他工作从git中获取其他dist repo并复制构建存档工件,如果有任何更改推送到相应的git repo。
  3. This article有帮助,这很简单。