circleci checkout是否从master获取最新代码或特定提交的代码

时间:2018-04-30 02:38:05

标签: git circleci

Hello stackoverflow / circleci gods。

我一直在使用circleCI一段时间,我对“结帐”问题有疑问。我将尽力解释的步骤。这是我的circleCI配置文件的片段(我有一份工作'一份工作'其第一步是结帐):

a-job:
  docker:
    - image: docker-image-here
  steps:
    - checkout
    ...

我的问题是,圈子步骤'结帐'从master获取最新代码或特定提交的代码。

即。 checkout只是git clone master:latest或者它git clone SPECIFIC COMMIT HERE

2 个答案:

答案 0 :(得分:3)

免责声明:CircleCI的开发人员传播者

VonC的回答不正确。在CircleCI 2.0(这是配置)中,"特殊步骤" checkout检出当前提交。当前提交是首先启动CI运行的提交。

因此,只要您{GidHub或Bitbucket git push,就会构建该提交,并且checkout步骤将检索该提交。在您同时进行多次提交git push的情况下,最近的提交是将为其启动的提交。

答案 1 :(得分:0)

默认情况下,CircleCI checkout step将结帐远程仓库的默认分支(通常为主仓)
实际上:提交推送(请参阅FelicianoTech' s answer)。

但是你{yjl}可以指定过滤器分支can see here 这样,您只构建了特定分支的推送提交:

workflows:
  version: 2
  dev_stage_pre-prod:
    jobs:
      - test_dev:
          filters:
            branches:
              only:
                - dev
                - /user-.*/
      - test_stage:
          filters:
            branches:
              only: stage
      - test_pre-prod:
          filters:
            branches:
              only: /pre-prod(?:-.+)?$/

作为mentioned here

  

结帐步骤是检查代码的bash脚本的便捷包装器。您可以通过在之前的作业运行中展开作业页面的“结帐代码”部分来查看实际的结帐代码。

     

如果您想修改结帐步骤,可以使用run ste p将作业页面中的此代码直接复制/粘贴到config.yml或bash脚本中。
  从这里您可以修改结账流程以满足您的需求。在添加自己的自定义运行步骤结帐后,请务必删除便利结帐步骤。