Docker 第二阶段中的第一个作业包含上一个作业';GitLab中的s状态

Docker 第二阶段中的第一个作业包含上一个作业';GitLab中的s状态,docker,gitlab,devops,gitlab-ci,gitlab-ci-runner,Docker,Gitlab,Devops,Gitlab Ci,Gitlab Ci Runner,我遇到了一个问题,在我的测试阶段的第一个作业接收到了我以前构建作业的整个状态,而我并不期望它。我已经尽可能地简化了这个问题,以便仍然重现这个问题。基本上,构建运行并检查我的回购协议。ls-al打印出包含我签出的repo的工作目录。testone运行,跳过git签出,并打印包含上一个构建作业中git签出的工作目录。测试两次运行,跳过git签出,并按预期打印包含空目录的工作目录 我的问题是,我是否错误地配置了.gitlab-ci.yml文件,我的期望是否缺乏对gitlab应该如何工作的理解,gitl

我遇到了一个问题,在我的测试阶段的第一个作业接收到了我以前构建作业的整个状态,而我并不期望它。我已经尽可能地简化了这个问题,以便仍然重现这个问题。基本上,构建运行并检查我的回购协议。ls-al打印出包含我签出的repo的工作目录。testone运行,跳过git签出,并打印包含上一个构建作业中git签出的工作目录。测试两次运行,跳过git签出,并按预期打印包含空目录的工作目录

我的问题是,我是否错误地配置了.gitlab-ci.yml文件,我的期望是否缺乏对gitlab应该如何工作的理解,gitlab或运行程序是否配置不当,或者这是一个bug

注意事项:

  • 我使用的是GitLab版本:12.6.4-ee
  • 我不是GitLab管理员
  • 作业彼此不依赖,脚本只打印当前工作目录
  • 我的docker映像只是Linux发行版的干净基础映像,只安装了普通Linux命令
  • linux runner是在我的linux服务器上作为服务运行的GitLab runner
  • 我禁止git在测试作业中签出我的repo,以便查看构建作业中的签出是否存在于测试一中
下面是我的.gitlab-ci.yml简化文件:

image: $DOCKER_REGISTRY/my-image:latest

build:
    stage: build
    tags:
        - linux-runner
    script:
        - ls -al

test-one:
    stage: test
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

 test-two:
    stage: test
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

这似乎是因为我使用了GIT_策略:none。通过删除变量,我开始再次收到预期的行为。

image:$DOCKER\u REGISTRY/my image:latest

stages: # <-- add them all
  - build
  - test1
  - test2

build:
    stage: build
    tags:
        - linux-runner
    script:
        - ls -al

test-one:
    stage: test1 # <-- change this
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

 test-two:
    stage: test2 # <-- change this
    tags:
        - linux-runner
    variables:
        GIT_STRATEGY: none
    script:
        - ls -al

stages:#这是一个简化文件,但我需要两个测试阶段都出现在同一个阶段中,因为后面会有依赖阶段。stackoverflow删除了我的解决方案,但通过删除
GIT\u策略:none
我的问题消失了。