Deploy new version to google app engine not work - deployment

I m a new user in the google cloud platform,
I followed the jhipster tutorial to deploy the jhipster web application to Google App Engine.
(https://www.jhipster.tech/gcp/)
I can deploy the original version of jhipser to GCP app engine, but when I deploy again it was not updated to the new version even my local was updated.
Does anyone know how to deploy new version to Google app engine??

I don't know much about jhipster, but if it is a classical java web application on app engine, as stated in the link you provided, you just need to re-deploy again:
./mvnw package appengine:deploy -DskipTests -Pgae,prod-gae
if you want to deploy as a new version, you should check what is the version parameter provided. You can find that in app.yaml, application-web.xml or pom.xml file depending on how the application is built.
If who built the application decided to automatically increment the version each deploy, you should have already everything set, but in App Engine > Version page in GCP you should migrate the traffic to your latest version.

Related

"DatastoreException: Missing or insufficient permissions" on superseded Cloud Datastore

We have an older application based on the AppEngine SDK (now deprecated) and the superseded Cloud Datastore.
In the process of migrating to Google Cloud SDK we also decided to move from JPA/Datanucleus to Objectify.
Given that the Cloud Datastore will be automatically upgraded to Cloud Firestore in Datastore mode sometime in the future, we decided to test our application as described at the bottom of this page:
https://cloud.google.com/datastore/docs/upgrade-to-firestore#testing_an_existing_application
1) Create a new project. In this project, create a Cloud Firestore in Datastore mode database.
2) Using the managed export service, export some of your application's data to Cloud Storage.
3) Using the managed import service, import your application's data to your new project.
4) Copy app logic you want to test to the new project or simulate app behaviour against the new project.
That's what we did and after some issues we could make a portion of our application run fine with the new datastore in a separate test project.
Now to the actual issue...
We wanted to test if the updated application could also run with the superseded Cloud Datastore, so we won't have to worry when the automatic upgrade occurs (as our app will be already ready).
So we deployed it as a new version of the existing AppEngine project (v2-dot-.....): unfortunately running the new version throws a permission error as soon as the app tries to read the datastore:
com.google.cloud.datastore.DatastoreException: Missing or insufficient permissions
So the questions are:
- could this be related to the Cloud Datastore not being upgraded to Cloud Firestore in Datastore mode for our project yet?
- is there anything we can do (add specific permissions maybe) to make it work anyway?
Our concern is that we need to have the new version of the app deployed before July 2020 (that's when the older AppEngine SDK will stop working), and we are worried that the automatic upgrade of the datastore will occur later.
Thank you for your help.
Turned out our project doesn't have the PROJECT_ID#appspot.gserviceaccount.com member in IAM.
It has a pletora of other members (for example: PROJECT_NUMBER-compute#developer.gserviceaccount.com, PROJECT_NUMBER#cloudservices.gserviceaccount.com, service-PROJECT_NUMBER#compute-system.iam.gserviceaccount.com, etc) which I guess are legacy members used in previous versions of Google App Engine.
Adding PROJECT_ID#appspot.gserviceaccount.com with the role Editor fixed the issue: now the new version can be deployed to the old projects and it works fine even if the datastore has not yet been converted to Cloud Firestore in Datastore Mode.
I just ran into this issue and spent way too much time troubleshooting it. Nine times out of ten if you're running into this issue it's because the default App Engine service account doesn't have permission to edit Cloud Datastore. The default App Engine service account is used by default if you're doing a simple gcloud app deploy and nothing else fancy. I solved the problem by giving the default App Engine service account the roles/datastore.owner role with the following:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID#appspot.gserviceaccount.com" \
--role="roles/datastore.owner"

Best Strategy for deploying test and dev app versions to Google Compute Platform

Google Compute Platform
I've got an Angular (2) app and a Node.js middleware (Loopback) running as Services in an App Engine in a project.
For the database, we have a Compute Engine running PostgreSQL in that same project.
What we want
The testing has gone well, and we now want to have a test version (for ongoing upgrade testing/demo/etc) and a release deployment that is more stable for our initial internal clients.
We are going to use a different database in psql for the release version, but could use the same server for our test and deployed apps.
Should we....?
create another GCP project and another gcloud setup on my local box to deploy to that new project for our release deployment,
or is it better to deploy multiple versions of the services to the single project with different prefixes - and how do I do that?
Cost is a big concern for our little nonprofit. :)
My recommendation is the following:
Create two projects, one for each database instance. You can mess around all you want in the test project, and don't have to worry about messing up your prod deployment. You would need to store your database credentials securely somewhere. A possible solution is to use Google Cloud Project Metadata, so your code can stay the same between projects.
When you are ready to deploy to production, I would recommend deploying a new version of your App Engine app in the production project, but not promoting it to the default.
gcloud app deploy --no-promote
This means customers will still go to the old version, but the new version will be deployed so you can make sure everything is working. After that, you can slowly (or quickly) move traffic over to the new version.
At about 8:45 into this video, traffic splitting is demoed:
https://vimeo.com/180426390
Also, I would recommend aggressively shutting down unused App Engine Flexible deployments to save costs. You can read more here.

Remote Debugging With Bluemix and STS 3.7.1

I was trying out some of the new Boot Dashboard features in STS 3.7.1 when deploying the Boot app to IBM Bluemix and most of them worked except for the remote debugging feature. At first I thought it might be a problem with the buildpack used on Bluemix since by default Bluemix uses the Liberty buildpack. So I switched to using the CF Java Buildpack but I still have not been able to get it working.
When I select the (Re)debug option for my app the app restarts sucessfully but in STS I get the following error

How to deploy web application onto Google App Engine

This may be a vague question but I have been unable to find any help/tutorials specific to my situation and am stuck.
I have built a website using Eclipse (Dynamic Web Project.) I then deployed this application using Tomcat and can see it by going to localhost, however, I am struggling on how to actually deploy it to the cloud.
I am trying to use Google App Engine but am open to other (free) alternatives for deploying my web application.
With Google App Engine, I registered for an account, made a new project, connected it to my github repository and confirmed the correct code is listed.
However, when navigating to project_id.appspot.com (mine is http://mapp-development.appspot.com) I get a 404 error.
I have attempted various deployments and even made an entirely new Google Web Application Project in Eclipse for testing which worked but weirdly deployed to http://1-dot-mapp-develop.appspot.com/ and is the test files which I do not know how to correctly modify.
Is there any way to upload/deploy my existing web application to Google App Engine (as a .war or otherwise)?
I am new to web development and apologize for any unclear specifications. Any help would be greatly appreciated!
Edit: I have also tried (in Eclipse) right clicking the project and choosing "Deploy to App Engine" under Google however it states "mapp-website is not an App Engine project".
Edit2: I had a stupid mistake, I confused my Project ID (mapp-development) and app id (mapp-develop). I am able to successfully make a new Google web project and deploy it to mapp-develop.appspot.com
Sorry for the trouble!
Here are three ways to deploy:
Make an App Engine project in Eclipse
Deploy via Git
Deploy via GitHub
It seems like you tried #1 with a project named 1-dot-mapp-develop. If you select deploy from Eclipse, a dialog box will pop up with a link to "App Engine Project Settings" where you can change the project name (to mapp-development and version).

Coldfusion deploy into Google app with Eclipse

I've download eclipse-jee-galileo-win32.zip and following instruction of this post, http://blog.kukiel.net/2009/09/coldfusion-on-google-app-engine-with.html
After that, I encounter following errors once I've deleted war file and replace openbd's war files into my project.
alt text http://img411.imageshack.us/img411/3479/52229590.png
Please let me know if you have such problem just like me.
Make sure that you are running the latest SDKs (Google Web Toolkit and Google App Engine). I had this same issue until I switched to the latest versions when I first started out as well.
You can see which ones you are using for a particular app by opening up its properties and looking under Google. The latest versions are 1.3.5 (App Engine) and 2.0.4 (Web Toolkit). If you are on older versions look for updates, new features to install the latest.