This is not related to Hugo.
You’re using a Hugo Docker image on Gitlab with publysher/hugo
Gulp is not available in this image hence the failure.
Perhaps you need to use a different runner. Here is an example that uses an Alpine Linux image to deploy on Gitlab Pages with a specific Hugo version:
I see no reason why you couldn’t modify this to run Gulp before Hugo.
However your question is better suited for the Gitlab forums. And I might miss something, since I don’t use Gulp.