Какой бегун Gitlab мне нужно использовать?

# #windows #gradle #heroku #gitlab-ci #gitlab-ci-runner

Вопрос:

Я создаю свой файл yml, но продолжаю бороться с ошибкой, которую получаю. Ошибка в том, что:

apt-get : Термин «apt-get» не распознается как имя командлета, функции, файла сценария или действующей программы. Проверьте правильность написания имени или, если был указан путь, убедитесь, что он правильный, и повторите попытку. В C:WindowsTEMPbuild_script267802092script.ps1:217 символ:1

Я думаю, проблема в том, что у меня нет правильного бегуна для этого. Проблема в том, что я не знаю, какой бегун мне подходит.

Я пробовал использовать бегун оболочки, но он выдает мне ошибку выше.

Мой файл yml:

 image: node:latest


stages:
  # - build
  # - sonarqube-check
  # - test
  - deploy

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

build:
  stage: build
  script:
    - ./gradlew assemble
  artifacts:
    paths:
      - build/libs/*.jar
    expire_in: 1 week
  only:
    - master

sonarqube-check:
  stage: test
  image: gradle:jre11-slim
  variables:
    SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"  # Defines the location of the analysis task cache
    GIT_DEPTH: "0"  # Tells git to fetch all the branches of the project, required by the analysis task
  cache:
    key: "${CI_JOB_NAME}"
    paths:
      - .sonar/cache
  script: ./gradlew sonarqube
  allow_failure: true
  only:
    - master

test:
  stage: test
  script:
    - ./gradlew check



deploy:
  stage: deploy
  image: ruby:latest
  script:
  - apt-get update -qy
  - apt-get install -y ruby-dev
  - gem install dpl
  - dpl --provider=heroku --app=heroku-coalition --api-key=$HEROKU_API_KEY
  - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
  only:
  - master
    


after_script:
  - echo "End CI"
 

Я использую машину Windows с Windows 10 (если эта информация необходима).
Кто-нибудь может мне помочь?
Заранее спасибо!

Ответ №1:

Поскольку вы определяете, что image использовать в вашем yml, вам следует использовать исполнителя docker.

Предполагая, что вы уже установили GitLab Runner в соответствии с документами, вы можете добавить бегуна с «докером» в качестве исполнителя. Вот ссылка на документы

Докер также должен быть уже установлен на вашем сервере.

Комментарии:

1. Что вы имеете в виду, когда Docker уже должен быть установлен на моем сервере? Нужно ли мне устанавливать docker на свой ноутбук или где его следует установить?

2. Докер должен быть установлен везде, где вы работаете, если на вашем сервере gitlab установлен gitlab-runner, вы также должны установить докер там.