Omkar
Omkar

Reputation: 2433

Cloudbuild recursively creating multiple builds for app engine deployment on GCP

hope this question helps others struggling to use GCP.

I am trying to automate deployments of my strapi app to Google App Engine using CloudBuild. This is my cloudbuild.yaml:

steps:
  - name: 'ubuntu'
    entrypoint: "bash"
    args:
      - "-c"
      - |
        rm -rf app.yaml
        touch app.yaml

        cat <<EOT >> app.yaml
        runtime: custom

        env: flex

        env_variables:
          HOST: '0.0.0.0'
          NODE_ENV: 'production'
          DATABASE_NAME: ${_DATABASE_NAME}
          DATABASE_USERNAME: ${_DATABASE_USERNAME}
          DATABASE_PASSWORD: ${_DATABASE_PASSWORD}
          INSTANCE_CONNECTION_NAME: ${_INSTANCE_CONNECTION_NAME}

        beta_settings:
          cloud_sql_instances: ${_CLOUD_SQL_INSTANCES}

        automatic_scaling:
          min_num_instances: 1
          max_num_instances: 2
        EOT

        cat app.yaml

  - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
    entrypoint: 'bash'
    args: ['-c', 'gcloud app deploy app.yaml --project ecomm-backoffice']

If I understand correctly how general CI/CD works, this file should create an app.yaml and then run gcloud app deploy app.yaml --project ecomm-backoffice command.

However, CloudBuild is creating nested recursive builds once i push my changes to github(triggers are enabled).

Can someone please help me with the right way of deploying strapi/nodejs to app engine using cloudbuild? I tried searching lot of solutions but haven't had any luck so far.

Upvotes: 2

Views: 343

Answers (0)

Related Questions