В моих проектах gitlab определены и выполняются задания через gitlab-ci.Тем не менее, это не очень хорошо с взаимозависимыми заданиями, так как нет никакого управления этим делом, кроме как вручную.У меня есть дело, которое является частью общего приложения, и его запуск занимает много времени.Запуск этого сервиса выполняется внутри задания, в то время как у другого задания есть другой сервис, который также является частью общего приложения, запрашивающего предыдущий сервис.Из-за взаимозависимости я только что отложил выполнение этой более поздней работы, так что, скорее всего, у предыдущей работы была запущена и запущена ее служба.
Я хотел использовать Rundeck в качестве планировщика заданий, но не уверен, что это можно сделать с помощью gitlab?Может быть, я ошибаюсь насчет gitlab, поэтому gitlab позволяет лучше планировать работу?
Вот пример того, что я делаю:
.gitlab-ci.yml
deploy:
environment:
name:$CI_ENVIRONMENT
url: http://$CI_ENVIRONMENT.local.net:4999/
allow_failure: true
script:
- sudo dpkg -i myapp.deb
- sleep 30m //here I wait for the service to be ready for later jobs to run successfully
- RESULT=`curl http://localhost:9999/api/test | grep Success'