0
votes

I would like to know how to deploy the application from bitbucket using pipelines to multiple Google Cloud projects.

Here is our current set up and it is working fine.

On Bitbucket, the application repo with development/UAT test/production branches, once the pull request approved and merged into development/production, it shall deploy to the GCP app engine through the pipelines.

The problem now, we want to isolate each client in GCP which mean each client will have its own GCP project, cloud SQL, App engines, storage bucket, etc...

I need some advice on how to change the deployment workflow in bitbucket and pipelines, so will work for the new set up.

For the branches setup on bitbucket, I'm thinking like below, but if I go for option2, then it seems too much if got more clients.

Option 1 (repo branches)

development/ UAT test/ validation/ production

Option 2 (repo branches)

development/ UAT test client1/ UAT test client2/ validation_client1/ validation_client2/ production_client1/ production_client2/

The first step, I know I have to create different app.yaml for each app engine service for each client, so it can deploy the app engine service to different CGP projects/bucket/SQL instance.

Also just found out the bitbucket-pipelines.yml only support 10 steps, if I create so many branches then it will over the limits for sure. Does anyone have any suggestions about how should be set up?

Thanks,

1

1 Answers

0
votes

You could create Cloud build triggers to specific bitbucket branches or repos (whatever your branching model is defined) and deploy the app engine implementation to the App engine service on the same project, and if you need to customize other steps, you could use custom steps as described here. Finally you can take a look at how to create a basic configuration file for Cloud Build if you are not very familiar with this product