Where do you keep your bare metal machines if I my ask? I wanted to do a similar setup a while ago (building/testing on Hetzner bare metal, deployments and the rest on AWS) but due to Amazon's pricing policy the cost of traffic would be enormous.
We deploy to AWS (among others) and had no issues regarding traffic price since it's ingress into AWS.
I push our artefacts back to gitlab, and we deploy from gitlab's registry to google cloud (GKE).