# #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, вы также должны установить докер там.