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

问题描述 投票:4回答:2

你好stackoverflow / circleci众神。

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

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

我的问题是,circleci步骤'checkout'是否从master获取最新代码或特定提交的代码。

即结帐只是git克隆master:最新或它git克隆SPECIFIC COMMIT在这里

git circleci
2个回答
2
投票

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

VonC的回答是不正确的。在CircleCI 2.0(该配置是什么)中,“特殊步骤”checkout检查当前提交。当前提交是首先启动CI运行的提交。

因此,每当你git push到GitHub或Bitbucket时,该提交都会被构建,这就是checkout步骤检索的提交。在您同时进行git push多次提交的情况下,最近的提交是将为其启动的提交。


0
投票

默认情况下,CircleCI checkout step将结帐 远程仓库的默认分支(通常是主仓) 实际上:提交推送(参见FelicianoTechanswer)。

但是你can see here你的yaml文件可以指定过滤器分支。 这样,您只构建推送提交,这些提交是特定分支的一部分:

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 step将此代码从作业页面直接复制/粘贴到config.yml或bash脚本中。 从这里您可以修改结账流程以满足您的需求。在添加自己的自定义运行步骤结帐后,请务必删除便利结帐步骤。

© www.soinside.com 2019 - 2024. All rights reserved.