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
答案 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(?:-.+)?$/
结帐步骤是检查代码的bash脚本的便捷包装器。您可以通过在之前的作业运行中展开作业页面的“结帐代码”部分来查看实际的结帐代码。
如果您想修改结帐步骤,可以使用run ste p将作业页面中的此代码直接复制/粘贴到config.yml或bash脚本中。
从这里您可以修改结账流程以满足您的需求。在添加自己的自定义运行步骤结帐后,请务必删除便利结帐步骤。