Spin up local gitlab runner and deploy to remote from local

Problem to solve

Sometimes we have intensive bug fixing sessions, and need fast deployment to production to test the changes ASAP. Currently we’re working in a traditional setup where we tag a commit which triggers a CI pipeline on gitlab that then builds the package. After this we’re able to pull the package from the targeted host and reboot the application. However the process of running the build in CI is slow for us as the build server is heavily used. So the build might stay in the queue for quite some time.

The idea I want to try is that a dev can run the CI job locally in a local gitlab runner which ships the binary to gitlab on finish. Then he’d somehow invoke something in the gitlab CLI tool to initiate the deploy to a specific server (it should allow for some options, e.g. roll out the build to just one server or a specific one). I was wondering if there was a workflow that was available for this already before I start to craft something.

Versions

Please select whether options apply, and add the version information.

  • Self-managed
  • GitLab.com SaaS
  • Dedicated
  • [x ] Self-hosted Runners