Implementing App Engine microservices with Android Studio - google-app-engine

I want to create multiple services for the backend of my Android App, because some modules will be called by the users, but others have to start automatically each X hours with a cron.xml setting of Google App Engine.
However when I deploy each module from Android Studio to my Google Cloud Platform Project, only the last deployed is online. I know that I can use versions to make a differentiation between modules, but this is more like a hacky solution no?
I want to know if there is way to create a App Engine microservice architecture with Android Studio? Or the only solution is to deploy as different version?
Thanks for your help.

The answers is finally very easy. In the appengine-web.xml, a module name shall be added using:
<module>yourmodulename</module>
Then when deploying you will have a new service automatically. Your first android studio backend module shall be the default, the others you have to give then a name.

Related

IntelliJ: cannot deploy to Google App Engine (Standard)

The IDE complains about no Deployment selected, but from the picture I can't pick one.
I have upgraded IntelliJ to the latest. I am planning to reinstall everything.
Suggestions?
There should be an artifact displayed:
Make sure you have a war artifact defined in the Project Structure | Artifacts.
If the issue persists, please report a bug and attach a sample project to reproduce.
Artifact options available out of the box in IntelliJ IDEA Ultimate:
If you don't see the Web Application options, you need to make sure that all the plug-ins are enabled. You can also just delete disabled_plugins.txt file from the IDE CONFIG directory and restart the IDE.
In case you are still running into issues:
It actually looks like you are using the Cloud Tools for IntelliJ plugin (https://github.com/GoogleCloudPlatform/google-cloud-intellij) and not the App Engine plugin bundled in IDEA Ultimate as in the accepted answer.
You can refer to the following documentation for deployment to the App Engine standard environment:
https://cloud.google.com/tools/intellij/docs/deploy-std
Also a couple things to check:
You should have an app engine standard facet
You should have an exploded-war artifact:
Try the following action:
Tools > Google Cloud Tools > Add App Engine support > Google App Engine Standard and see if this resolves the problem.
If none of this helps, perhaps you can post some screenshots of your artifact / module structure under project settings.
So OK, at the end I was using IntelliJ Community which doesn't support deploying to Google App Engine anymore (although it's bizarre the plugin is available). Apparently one of the latest updates disable whatever minimal support was there, as I was able to deploy to GAE just a few weeks ago.

How to deploy the project on Google App Engine by preserving the changes of other developers?

Till now I was working alone on a project on Google App Engine. So I had to write the code and upload it on App Engine using gcloud app deploy project-path/app.yaml.
But now a bigger project has arrived. So a team has to work on it and everyone has their own systems. I simply want to ask how can we deploy project from different devices still preserving the changes made by other developers? As everyone has to deploy their code on cloud for the same project. I searched over the web but found nothing. Is it even possible?
Thanks!
maybe this article will help you. It describes how to deploy from Gitlab to Google App Engine
https://medium.com/evenbit/an-easy-guide-to-automatically-deploy-your-google-app-engine-project-with-gitlab-ci-48cb84757125
Regards
Michael

Running Go App Engine apps locally.

I'm trying to run an App Engine app locally using the development server, as specified in Google's docs. I'm running into a ton of compilation errors due to the go library packaged in the SDK missing system libraries.
Looking at the SDK download page, it says:
Note: The Google App Engine Launcher does not work with Go apps.
So is there no way to launch Go apps running on App Engine locally?
The GAE Go SDK contains and uses a modified version of Go 1.6.2., and the context package was added to the standard lib in Go 1.7. The old API that comes bundled in the SDK uses the appengine.Context context.
See related question: AppEngine/Go: Using a new version of Go with the SDK

"Add AppEngine Backend" missing in Android Studio 0.8.2?

Is it possible that the function to generate AppEngine backend went missing from the submenu (Google Cloud Tools)? Or is it some new feature that requires me to do some setup first?
When I download major release (0.8.0) on web it's there. But when Android Studio gives me notice to update to 0.8.2 it's gone.
Not using Android studio but GAE backends are being phased out and replaced with modules.
https://developers.google.com/appengine/docs/java/modules/converting
It seems you now have to create new module like File > New > Module > App Engine Backend with Google Cloud Mesaging

package of google app engine project

HI I m new to google app engine,and I want to know is there an option in app engine to create a installer package of a project which can be deployed in other google app domains.So basically project will not be hosted publically but only for particular google app domains
An analogy I m looking here is salesforce package,where a developer can create a package url,through which package can be installed in other orgs. The project is not hosted publically. http://appexchange.salesforce.com/
You can package your source easily. The only variable that needs to change is in app.yaml application: field in python and appengine-web.xml in java. This will allow you to deploy the app in other domains.
As far as the package url that isn't how App Engine works. You can set your application to allow only certain domains to access it and provide an API for integrating it into another application, but that is different than Sales Force package url.
When developing a Google App Engine application you don't have to specify the url of the project. So you can install and deploy your application to several organizations or even subprojects.
The only thing you need to set is the application name in the app.yaml (in case you are using python) or appengine-web.xml (for java)
So for developing an installer I would create a script that first asks the user for the name of the application they want to deploy to, modifying the configuration files accordingly, and then calls the normal appcfg.py installer.

Resources