Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Pipeline Deployment to GAE with Java fails on google-app-engine-deploy:1.1.1

Deleted user May 23, 2023

I'm currently using a step with pipe atlassian/google-app-engine-deploy:1.1.1.  I'd been using v0.4.1 fine, but noticed it was stripping out the appengine-api-1.0-sdk JAR, and assumed that was the issue.

Dropping back down from 1.1.1 to 1.0.0 works, so I can only assume it's an issue/bug with the latest version when using Java:

 

The component [app-engine-java] is required for staging this application.     

 

ERROR: (gcloud.app.deploy) You cannot perform this action because the Google Cloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation:  

sudo apt-get install google-cloud-sdk-app-engine-java 

Deployment failed. 

 

 

I'd raise this as a bug, but you (Atlassian) make it a UX nightmare to do so.

2 answers

0 votes
Igor Stoyanov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 9, 2023

Hi @[deleted] . Our team released new version of the google-app-engine-deploy 1.2.0 pipe.
Docker image google cloud sdk changed from slim to default and also updated to the latest version.

Regards, Igor

Deleted user June 9, 2023

No problem, thank you for the update.

Like Igor Stoyanov likes this
0 votes
Igor Stoyanov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 24, 2023

Hi @[deleted] . To understand your issue, please, provide your bitbucket-pipelines.yml config file. The difference between 1.1.1 and 1.1.0  pipe version is docker image changed to slim: https://bitbucket.org/atlassian/google-app-engine-deploy/pull-requests/30, maybe your required component is not presented in slim image.

Regards, Igor

Deleted user May 24, 2023

Hi Igor,

The issue itself is much simpler - as per the error:

The component [app-engine-java] is required for staging this application.  

...alongside the change to the slim image, I expect that the problem is that you have removed the 'app-engine-java' extension from the process.

The pipeline step to created would be no more complex than:

 

script:
- pipe: atlassian/google-app-engine-deploy:1.1.1
variables:
KEY_FILE: $KEY_FILE
PROJECT: $PROJECT
DEPLOYABLES: {my project target output}/WEB-INF/appengine-web.xml'

That being, as appengine-web.xml is a java8 app engine configuration, and will contain:

<runtime>java8</runtime>

GCloud will immediately realise it needs the app-engine-java extension and can't find it.  It then also realises it can't use Google Cloud CLI component manager because that's disabled, too.

So, realistically, you appear to have moved to a slim gcloud image without testing if some of the now excluded extensions were necessary.  It would have been better to have provided a slim alternative version, rather than to have simply superseded it.

This is, arguably, why Pull Requests should have descriptions, because it otherwise makes it seem like a naive change - e.g. what was the requirement behind the decision, and what did you do to ensure it wasn't a breaking change?  Who wanted a smaller image size, and why?

Igor Stoyanov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 25, 2023

@[deleted] hi. So , you confirmed that required component is not presented in slim image.
We will think how to properly fix this problem, and notify you when new release will become available.
For now you could use 1.1.0 version, since this version fits your requirements.

Regards, Igor.

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events