Не работает очередь gitlab-runner для исполнителя докера - PullRequest
1 голос
/ 31 мая 2019

У меня есть:

CentOS 6 финальная ОС;
GitLab 11.10.4;
Gitlab-runner 11.10.1 с Android-исполнителем

Моя часть config.toml:

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "android-1"

Как вы видите concurrent = 1
Давайте посмотрим намой .gitlab-ci.yml:

image: runmymind/docker-android-sdk:latest

variables:
  GRADLE_USER_HOME: $CI_PROJECT_DIR/.gradle

cache:
  key: $CI_PROJECT_NAME
  paths:
    - .gradle/wrapper/
    - .gradle/caches/

before_script:
  - echo $JAVA_HOME
  - echo $ANDROID_HOME
  - echo $PATH
  - chmod +x ./gradlew

stages:
  - check

checkStage:
  stage: check
  script:
    - set +e
    - du -sh $CI_PROJECT_DIR/.gradle/wrapper
    - du -sh $CI_PROJECT_DIR/.gradle/caches
    - set -e
    - ./gradlew check
  artifacts:
    when: on_failure
    paths:
    - build_results

Работает.Но когда я нажимаю в нескольких ветвях, у меня есть: На одной работе:

Running with gitlab-runner 11.10.1 (1f513601)
  on android-1 cf4dbddf
Using Docker executor with image runmymind/docker-android-sdk:latest ...
Using locally found image version due to if-not-present pull policy
Using docker image sha256:05edf996f2cf3a0be9c332ca88e4ffd1698b7d59b1c5318b48491033e062e639 for runmymind/docker-android-sdk:latest ...
Running on runner-cf4dbddf-project-918-concurrent-0 via git-ci-runner...
WARNING: Possibly zombie container runner-cf4dbddf-project-918-concurrent-0-predefined-1 is disconnected from network bridge
Reinitialized existing Git repository in /builds/android/MYPROJECT/.git/
Fetching changes...
Checking out 21ff9883 as branch_for_test_it_1...
Removing .gradle/
....
OK

На другой моей работе:

Running with gitlab-runner 11.10.1 (1f513601)
  on android-runner-1 cf4dbddf
Using Docker executor with image runmymind/docker-android-sdk:latest ...
Using locally found image version due to if-not-present pull policy
Using docker image sha256:05edf996f2cf3a0be9c332ca88e4ffd1698b7d59b1c5318b48491033e062e639 for runmymind/docker-android-sdk:latest ...
Running on runner-cf4dbddf-project-918-concurrent-0 via git-ci-runner...
Reinitialized existing Git repository in /builds/android/MYPROJECT/.git/
Fetching changes...
Checking out 21ff9883 as branch_for_test_it_2...
ERROR: Job failed (system failure): Error: No such container: 9721b3efbc71ababc12da8606307bd36c56b08e6500605a3ddbc9e42855498d6 (executor_docker.go:976:0s)

Я понимаю, что она работает с одним контейнером напроект (не для отрасли).И насколько я понимаю, у нас есть два способа решить эту проблему:

1) узнать, как создать новый контейнер для каждой ветви;
2) узнать, как сделать очередь gitlab-runner для исполнителя Docker

Я хочу спросить вас, как мы можем реализовать один из способов?Как по мне, лучше использовать второй способ, потому что в первом случае мы будем использовать много ресурсов компьютера.Но это нормально.Скажите пожалуйста, как мы можем решить эти варианты, которые я написал выше?

...