Thank you for reading and for your question.
I'm not a gitlab runner user and I can't test it.
However, if your runners are on Gitlab servers, it's the same principle as accessing your data from your local environment, external from Google Cloud. So, same principle!
But you can also configure Gitlab to use GKE to run your runners. In that case... it's not so simple! Don't imagine using network peering and private IP. Network (non) transitivity will block this option. But you can try the new PSC option (private service connect) that abstract all the internal network routing for you. More details here
https://cloud.google.com/sql/docs/mysql/configure-private-service-connect