package of google app engine project - google-app-engine

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.

Related

Do I need to enable App Engine Admin API for deployment?

On GCP, I run Cloud Build from one project and deploy code to App Engine in another project. It looks like the project where build runs from needs to have App Engine Admin API enabled. Is it a real request or I missed the real configurations?
App Engine Admin API is required as it is used for any App Engine-related management operations
Also, based on the link above:
The Admin API provides you with:
An integration point for your development and build tools.
Tighter control around deploying new versions, including the ability to automate traffic
migration between two versions or traffic splitting across one or more versions.
The ability to programmatically manage applications across multiple Google Cloud projects.
So yes, if you plan on deploying code to App Engine using Cloud Build, you need GAE Admin API enabled.

There is limit on google cloud projects and firebase projects?

I build websites, maybe 100 per year maybe more and I start to use Firebase and Google cloud for my hosting and as a backend but after some projects on blade for firebase I am not able to create new projects.
I make project quota to increase my projects but I don't have any response
My point is there is any alternative for hosting angular 2 apps with node.js
backend
There are lot more of hosting options available on google cloud than only firebase.
Google App Engine(Standard) is one of them. They even give you a predefined run time environment. If you want to use node.js in the background you just have to mention node as your runtime environment in the application configuration file.
Then there is Google App Engine(flexible)
If you want to create your own virtual machine and create your own servers you can choose Google Compute Engine

Implementing App Engine microservices with Android Studio

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.

Unable to deploy Eclipse WTP EAR multi-module project to remote instance

I am creating a GAE application, and I am following the proposed structure of modularized GAE applications in Eclipse with WTP, as documented here (see section "Enterprise Application EAR").
I have created and linked a local server instance of GAE, and the deployment of the EAR with its modules to the GAE development instance at localhost works fine.
However, when I try to "Deploy to App Engine" (via the Google button) in order to release my app to the Google remote server, I am stuck with the error "...(EAR project name) is not an App Engine project". I have also tried to define a new server with a remote address, but this fails with the error "The currently selected server type does not support remote hosts". The host name's field is restricted to "localhost" as a valid server address.
My Eclipse project structure looks as follows:
<<Enterprise Application Project>> ear-app
|
-- <<Dynamic Web Project>> app-module-1
-- <<Dynamic Web Project>> app-module-2
-- <<Dynamic Web Project>> app-module-3
-- <<Dynamic Web Project>> app-module-4
Please note that this is not a single "Google / Web Application Project", which works as expected (but does not support modularization with multiple Eclipse projects).
Please also note that I am not using Maven and the proposed mvn commands, as documented here.
I am using the GAE SDK 1.9.3 and GPE 3.5.1 in Eclipse Kepler 4.3.1.
So how do I deploy the Eclipse WTP project structure to Google remote servers? If this is not possible, do you suggest that I switch to Maven, and if so, does this support a multi-module project to be managed from within Eclipse?
Rather by chance, I stumbled across the solution:
In the Servers view, and upon right-click of the local development server, there is another context menu entry "Google App Engine WTP / Deploy to Remote Server". This will deploy the EAR and all modules to the Google infrastructure. There is also a "Google App Engine WTP" button in the Servers view's menu, offering the same options.
Frankly, I find this a highly inconsistent UI implementation: If we create a project of type Google Web Application, then the Google button in the main menu is effective, and the context menus can be found as "Google...". These become invalid (but are still present) when we create a multi-module EAR structure in the WTP style. This will create a different set of buttons and context menu entries, all in different places, and the context menu of the LOCAL server would then support deployment to the REMOTE server.
UPDATE:
After using the GAE tools for a couple of weeks, I finally switched to the command line options (appcfg) for remote deployments. I had additional errors in GPE for deployment rollbacks (which fail in Eclipse but work with appcfg). I recommend appcfg as administration tool for the Google infrastructure, it provides more control and it is more mature than the Eclipse plugin.

Executable from Google App Engine project

Is it possible to create an executable file from a Google App engine project in Python?
Well... no. But there are open-source projects available that allow you to run your App Engine application locally, and that attempt to be compatible with Google's App Engine API.
For example, check out typhoonae:
http://code.google.com/p/typhoonae/
You could develop your application using the Google SDK, and then deploy it on a local machine using the TyphoonAE app server.

Resources