推入另一个存储库时如何在一个存储库中触发circle-ci构建

时间:2019-11-25 13:29:20

标签: github circleci conan

我仍然在玩github / circle-ci和柯南。

我有一个存储库“ fcdk”,它是一个简单的C ++库。

我还有另一个存储库“ fcdk-conan”,其中包含柯南的配方以构建第一个存储库(fcdk)。第二个存储库还包含.circle-ci stuf。一切都很好。

这两个存储库位于githb

我想知道当我在第一个存储库中推送一些开发人员时是否有办法在第二个存储库中触发circle-ci构建吗?

1 个答案:

答案 0 :(得分:1)

只有Conan和Github无法解决您的问题,但是您可以在第一次构建通过时使用Circle CI触发新的构建。

https://circleci.com/docs/2.0/api-job-trigger/

version: 2
.build-steps: &build-steps
  steps:
    - checkout
    - run:
        name: Build project
        command: .circleci/run.sh
    - run:
        name: Trigger Conan build
        command: curl --user ${CIRCLE_API_USER_TOKEN}: \
                --data build_parameters[CIRCLE_JOB]=build_conan \
                --data revision=$CIRCLE_SHA1 \
                https://circleci.com/api/v1.1/project/github/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/tree/$CIRCLE_BRANCH

jobs:
  xcode10:
    macos:
      xcode: "10.2"
    <<: *build-steps

  gcc-7:
    docker:
      - image: conanio/gcc9
    <<: *build-steps

workflows:
  version: 2
  build_and_test:
    jobs:
      - gcc-9
      - xcode10

上面的示例显示了一个YAML文件,其中包含适用于Linux和OSX的通用版本,其中执行curl命令以触发柯南版本。当然,您将需要使用项目参数自定义该命令。

这个想法可以在Travis CI,Appveyor,Gitlab CI,Azure上重现。

致谢!