0
votes

I am trying to deploy a spring boot microservices application to Google App Engine from Bitbucket Pipelines. I am getting this below error after commiting the code,

INFO: Setting up environment.
echo "${KEY_FILE}" | base64 -d >> /tmp/key-file.json  
gcloud auth activate-service-account --key-file /tmp/key-file.json --quiet --verbosity=warning  
Activated service account credentials for: [[email protected]]  
gcloud config set project testproject --quiet --verbosity=warning  
Updated property [core/project].  

> *INFO: Starting deployment to GCP app engine...*  
gcloud app --quiet deploy 'app.yaml' --verbosity=warning  
**ERROR: (gcloud.app.deploy) [/opt/atlassian/pipelines/agent/build/app.yaml] does not exist.  
✖ Deployment failed.**

Please help me to solve this issue. Build Tool used is Maven.

bitbucket-pipelines.yml:

pipelines:
  default:
     - step: 
        name: Deploy to Google cloud
        deployment: test
        script: 
          - pipe: atlassian/google-app-engine-deploy:0.7.3
            variables: 
              KEY_FILE: $KEY_FILE
              PROJECT: 'testproject'

src/main/appengine/app.yaml:

runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored
1

1 Answers

0
votes

You need to specify DEPLOYABLES in your bitbucket-pipelines.yml, pointing to the path of your app.yaml file.

pipelines:
  default:
     - step: 
        name: Deploy to Google cloud
        deployment: test
        script: 
          - pipe: atlassian/google-app-engine-deploy:0.7.3
            variables: 
              KEY_FILE: $KEY_FILE
                  PROJECT: 'testproject'
                  DEPLOYABLES: src/main/appengine/app.yaml

Reference: https://bitbucket.org/atlassian/google-app-engine-deploy/src/master/