а на хосте, экзекютор shell
coverage-report:
stage: test
image: golang:1.21.0
script:
- CGO_ENABLED=0 go test ./... -coverprofile=coverage-report.out
- go tool cover -html=coverage-report.out -o coverage-report.html
- go tool cover -func=coverage-report.out
artifacts:
paths:
- coverage-report.html
expire_in: 1 hour
coverage: "/\\(statements\\)\\s+\\d+.?\\d+%/"
Preparing the "shell" executor
Using Shell (bash) executor...
Preparing environment
Running on prot229...
Getting source from Git repository
Fetching changes with git depth set to 20...
Reinitialized existing Git repository in ...
Checking out 9e69151f as detached HEAD (ref is main)...
Skipping Git submodules setup
Executing "step_script" stage of the job script
$ CGO_ENABLED=0 go test ./... -coverprofile=coverage-report.out
bash: line 146: go: command not found
Cleaning up project directory and file based variables
ERROR: Job failed: exit status 1
Проверь PATH
Спасибо, разобрался, проблема была в экзекюторе, shell не учитывает image указанный с джобе и выполняет скрипт на системе добавил еще один раннер с экзекютором docker и все заработало
shell использовать в принципе не рекомендуется
shell используется для джобы деплоя контейнера на сервер, тк ничего лучше не придумал app-deploy: stage: deploy before_script: *docker_login script: - docker-compose down --remove-orphans --timeout 30 - docker-compose up -d --force-recreate --no-deps --build --timeout 300 only: - main
Есть как минимум ansible
с ансибл взаимодействовал только "добавить env в конфиг чтобы девопсы развернули" насколько сложно и целесообразно разбираться в ансибле с целью настроить деплой нескольких серивсов?
Насколько целесообразно держать на проде gitlab runner, в котором постоянно находят очередные уязвимости?
это решается установкой ssh-клиента в образ и работой через ssh remote code executuion. не надо раннер ставить на сервера приложений
супер, понял, спасибо
Подскажите как настроить ansible чтобы деплоить с gitlab в прод?
у ансибла есть модуль для докера, им можно сделать.
Подскажите пожалуйста мануал как это сделать, никогда не работал с ansible
https://docs.ansible.com/ansible/2.9/modules/docker_container_module.html есть отдельный чат по ансиблу https://t.me/pro_ansible
Обсуждают сегодня