在GiLab CI上执行K6脚本的建议配置

时间:2019-10-09 05:54:43

标签: gitlab-ci k6

我一直在GitLab CI上进行K6性能测试,我想知道什么是最好的推荐设置方法。

根据K6 docssample project定义.gitlab-ci.yml如下:

before_script:
  - mkdir -p .k6-bin
  - |
      if [[ ! -f .k6-bin/k6 ]]; then
        curl -O -L https://github.com/loadimpact/k6/releases/download/v0.21.1/k6-v0.21.1-linux64.tar.gz;
        tar -xvzf k6-v0.21.1-linux64.tar.gz;
        mv k6-v0.21.1-linux64/k6 .k6-bin/k6;
      fi

cache:
  key: k6-bin
  paths:
    - .k6-bin

loadtest:
    stage: test
    script: .k6-bin/k6 run -o cloud loadtests/main.js

我发现这很冗长,尤其是当您考虑使用预制的docker映像时。这种方法需要在发布新版本时进行手动更新,而且看起来不像我当前正在使用的以下配置那样干净:

loadtest:
  stage: test
  image:
    name: loadimpact/k6:latest
    entrypoint: [""]
  script: k6 run ./loadtests/main.js

两者都能按预期工作,这就是为什么我想知道K6团队是否了解某些情况,并且不建议使用他们的docker映像?

1 个答案:

答案 0 :(得分:3)

啊,我是k6团队的成员之一,在这种情况下,您绝对正确-docker方法是更好的方法。我们将修复文档和示例存储库-https://github.com/loadimpact/k6/issues/1196。我不知道他们为什么提倡使用另一种方法-它可能是来自另一个CI系统的旧复制粘贴,无法像GitLab CI那样适用于容器。举例来说,实际使用的k6版本是非常老的-v0.21.1已于2018年6月4日发布。感谢您指出这一点,我们将在接下来的几天中修复文档和示例,所以现在坚持使用您的直觉我们过时的文档!