多くのテストをしているプロジェクトがあり、それらをすべて実行するには約20分かかります。残念ながら、1つのgitlabランナ内でそれらを並列化することはできません。私は同じ環境でテストスイートが異なる複数のgitlabランナーを起動する良いプラクティスがあるのだろうか?1つのCIビルドに複数のgitlabランナーを使用できますか?
答えて
テストスーツを複数の部分に分割することができれば、同じ段階で同じ数のジョブを作成できます(テスト)。 同じステージのジョブは、と並行して実行されますが、前のステージのジョブが完了すると、次のステージのジョブが開始されます。 ランナーが1人であっても、それらは並行して実行されます。のは、このテストケースを想定してみましょう:
stages:
- test
testsA:
stage: test
script:
- sleep 60
- echo 'Test set A done'
testsB:
stage: test
script:
- sleep 30
- echo 'Test set B done'
ランナーsettings(は/ etc/gitlab-を調整してあなたは、彼らが同時に実行されていることがわかりますし、テストAがテストBの後
を完了します2つのオプションのチェックランナー/ config.toml):
concurrent
は=ジョブの合計数は、すべてのランナーに並列に実行limit
(各ランナーのためのセット)は、ジョブの数が、ある特定のランナーによって並列に実行=
注:複数のランナーとのプロジェクトは、それらのそれぞれは、1からlimit
セットを持つ場合、私は希望、テストしていません異なるランナーを使用してこれらのジョブを実行します。しかし、私はそれがこのように動作すると仮定します。
私の設定で失敗した 'concurrent'オプションを指摘してくれてありがとう – CharlyDelta
ファイルは'〜/ .gitlab-runner/config.toml'にあります – Caipivara
- 1. プロジェクトごとに1人のGitlab CIランナー?
- 2. Gitlab CI、SSHランナー
- 3. Gitlab CIランナー
- 4. GitLab CIとランナー機能をローカルで複製しますか?
- 5. gitlab-ciランナーで有効期限が異なる複数のパス
- 6. GitLab CIなぜこのランナーはビルドを行っていないのですか?
- 7. Gitlab CIランナー設定とドッカーでのキャッシュ
- 8. 複雑なビルドにGitLab-CIを使用するアプローチ
- 9. Gitlab CI - 共有ランナーの起動方法
- 10. gitlab ci共有ランナーでビルドドッカー画像
- 11. GitLab CIランナー突然非常に遅い
- 12. ファイルをCIランナー経由でgitlab-ciにプッシュ
- 13. GitLab CIランナー、どのようにサービスコンテナにボリュームまたはマウントを使用する
- 14. GitLab CIランナー - 他のリポジトリにアクセスできない
- 15. gitlab-ciランナーにdockerイメージをプッシュできるように信用を渡す...?
- 16. Gitlab CIランナー定義済みマクロMSBuild
- 17. Gitlab CIでGIT_STRATEGY = noneのジョブに.gitlab-ci.ymlを使用できますか?
- 18. Dockerランナーを使用したGitlab CIのプロキシに関する問題
- 19. gitlab-ci:毎日のビルド
- 20. Gitlab CI - ランナーの登録に失敗しました
- 21. GitLab CIランナーはkubernetesのunix:///var/run/docker.sockに接続できません
- 22. GitLab CI(.gitlab-ci.yml)用の複数行のYAML文字列
- 23. GitLab.com CI共有ランナーは私のAndroidアプリケーションのGradleのプロジェクトのためにGitLab CIシステムを使用したい
- 24. Gitlab CIビルドの削除またはリセット
- 25. gitlab ci runとランナーを関連付けます
- 26. Gitlab - ランナー - 終了ステータス1
- 27. ciのgitlabランナーとしてAWSインスタンスを設定する
- 28. gitlab-ciランナーへのアクセスを許可する
- 29. GitLab CIで複数のビルドを使用することは可能ですが、単一のテストランナー
- 30. Gitlab CIでビルド時の自動タグコミット
「1つのCIビルド」と言えば、テストスーツを複数の部分に分けることができるかどうかを教えてください。 – tmt
@cascavalはい、私はgitlabに変更をプッシュすると、並列ランナーでテストを行うビルドを開始する必要があることを意味します。実際には、私はジョブとステージでこれを行う方法を見つけました(http://docs.gitlab.com/ce/ci/yaml/README.html#jobs)。しかし、私はよりエレガントな方法があると思う。 – t1maccapp
それは私があなたの答えを書いて始めたときに私があなたに提案しようとしていたものです。なぜなら、複数のランナーによって1つのジョブが実行されるとは思わないので、完了するはずです。私は今あなたが期待どおりに動作するようにいくつかの設定を指している私の答えを追加しました。 – tmt