из стадий которого выполнить интеграционный тест (сейчас это сделано через кубовые джобы)
собственно код
service-check:
stage: run_jobs
image: $BUILDER_IMAGE
dependencies:
- build_image
tags:
- spider
script:
- j2 ./config/job_template.yaml > job.yaml
- kubectl apply -f job.yaml
- kubectl wait --for=condition=complete -n tiktok --timeout=60s "job/$JOB_NAME"
variables:
JOB_FILE: job.js
JOB_NAME: tiktok-service-check-job
only:
refs:
- master
- merge_requests
service-check-cleanup:
stage: cleanup_jobs
image: $BUILDER_IMAGE
dependencies:
- build_image
tags:
- spider
script:
- kubectl delete job "$JOB_NAME" -n tiktok
when: always
variables:
JOB_NAME: tiktok-service-check-job
не нравиться то, что service-check-cleanup удаляет не только джобу но и логи соответственно + если так сложиться, что на момент запуска CI $JOB_NAME не удалён все крашнеться.
Так как template в джобе имутабелен пропустить service-check-cleanup не получится
Есть ли какой-то менее кривой способ запустить задачу в кубовом контексте и проверить её результат в CI?
https://github.com/werf/kubedog Следит за выкатом, показывает логи в stdout.
Так при чём тут выкат?
А вы логи не собираете из контейнеров?
нет, там не большие сервисы цель не оправдывает средства
больше всего смущает, что нужно именно удалять джобу и нельзя просто запустить по новой с другим image
При логах. И их сборе. При нажатии кнопки.
Вы просто как-то странно это делаете
Обсуждают сегодня