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

How to fire circle-ci build in one repo when pushing in another repository

我还在玩github/circle-ci和柯南

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

我有另一个存储库 "fcdk-conan",其中包含柯南的 recipe 以构建第一个存储库 (fcdk)。第二个存储库还包含 .circle-ci stuf。一切都在建设中。

这 2 个存储库位于 github

我想知道当我在第一个存储库上推送一些提交时,是否有办法在第二个存储库中触发 circle-ci 构建?

只有 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 命令以触发 Conan 构建。当然,您需要使用您的项目参数自定义该命令。

这个想法可以在 Travis CI、Appveyor、Gitlab CI、Azure ...

上重现

此致!