У меня проблема, когда я хочу запустить webhook.В этом случае я хочу запустить другой скрипт для сборки проекта, скажем, runaway.sh
#!/bin/bash
cd /home/myuser/envs/project-vue
git pull https://username:password@gitlab.com/username/project-vue
npm install
npm run build
, а затем в моем views.py
я пытаюсь вызвать его командой:
@csrf_exempt
def gitlab_webhook_view(request):
header_signature = request.META.get('HTTP_X_GITLAB_TOKEN')
if header_signature == settings.GITLAB_WEBHOOK_KEY:
subprocess.call(os.path.join(settings.BASE_DIR, 'runaway.sh'))
return HttpResponse('pull & build welldone!')
return HttpResponseForbidden('Permission denied.')
Но gitlab всегда возвращает Hook execution failed: Net::ReadTimeout
, как мы знаем npm install
& npm run build
занимает много времени.
Итак, я хочу продолжить этот процесс в фоновом режиме, и в течение нескольких секунд простовозврат "pull & build welldone!"
.Спасибо, прежде чем ..