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.
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
No problem, thank you for the update.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@[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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.