I've used Google App Engine, and as far as I know the only way to update my application files on Google's servers is to use the App Engine SDK. And as far as I know the App Engine SDK is a Mac or Windows package, which is not portable (requires installation on the local machine).
I need a portable version, or another way to update my application files on Google's servers using a Mac. I found this https://code.google.com/p/appengine-portable/ which purports to offer portable versions for Windows, but not Mac.
Is there a way for me to use the App Engine SDK on Mac without installing?
Is there any alternative way for me to update my application files on Google's servers?
This is not where you looking for, but have a look at this post: http://googleappengine.blogspot.nl/2012/07/develop-in-cloud-with-exos-cloud-ide.html
I am only talking about the Python SDK here. You haven't said which .
Just use the linux SDK, and run that on Mac or Windows. I haven't used mac. But I do appengine development on Windows and Linux and have never used the Launcher. Just follow the directions for unix on windows. (Well change your file paths and slashes ;-)
The python SDK and dev server is all pure python.
The Windows and OS X packages are just the the SDK and the GUI launcher. As far as I know the SDK is pure Python and portable. Either use the SDK that comes with installer or download the SDK alone.
The linux version on the documentation download page contains only the SDK, or get it on the Google App Engine googlecode project (it will be called google_appengine_x.x.x.zip):
https://code.google.com/p/googleappengine/downloads/list
Simply download the SKD, extract it somewhere (on my Mac, I link it to /usr/local/google_appengine because some script like nosegae expects it there, but it's not necessary). The SDK doesn't need to be installed, doesn't need to be in path. You can run appcfg.py from the SDK directory or using the absolute path.
Below is the Makefile I am using to run and upload an app (with make serve and make upload):
PYTHON=$(shell pwd)/venv/bin/python
GAE=/usr/local/google_appengine
APPSERVER=${GAE}/dev_appserver.py
APPCFG=${GAE}/appcfg.py
PORT=8080
SRC=./src
.PHONY: serve upload test
serve:
open "http://localhost:${PORT}"
${PYTHON} ${APPSERVER} --port=${PORT} ${SRC}
upload:
${PYTHON} ${APPCFG} --oauth2 update ${BUILD}
test:
cd ${SRC}; ${PYTHON} runtest.py
Related
I'm creating an AppEngine webapp and would like to be able to deploy it from IntelliJ. However, the plugin fails to deploy because it's looking for appcfg.sh in the AppEngine SDK directory. That directory contains an appcfg.py file, but no .sh file. Is the plugin just out of date? Is there a work around?
Google Cloud SDK 249.0.0
app-engine-java 1.9.74
The appcfg.sh was (or maybe still is) available in the GAE-only Java SDK, but not in the gcloud SDK (click on Download and install the original App Engine SDK for Java. at the bottom of the Download Cloud SDK page).
The JetBrains tools are a bit behind in this regard (same applied to the last PyCharm Pro version I used - it supported the GAE Python SDK, not the gcloud one). Which is why I have both SDKs installed, using them alternatively as needed.
Notes:
at least in the PyCharm case only the Pro version had GAE support, the Community Edition didn't
the GAE SDKs are no longer actively kept at par with the gcloud SDK, some newer GAE features aren't available through them, so YMMV.
My Go application needs to use a stand-alone executable, which I would like to copy it along with 'gcloud app deploy' command during deployment to GAE flex environment.
I have tried keeping the exe in the folder where other go files are located during deploy, but this doesn't seem to take the exe to the GAE flex
I tried using these 2 lines in Dockerfile and changed the "runtime: custom" in app.yaml, but that didn't fix either, as I am missing few more things it seems.
FROM gcr.io/google-appengine/golang
ADD test.exe /usr/local/bin/
Can anyone suggest, without/with Dockerfile, how can I copy the test.exe and also build the go application on a GAE flex environment?
EDIT:
I realize I should install the package (Debian package) on the GAE machine itself, and make it available for the App Engine app.
Any pointers on how to prepare the Dockerfile so that the Debian package is installed with all its dependencies and is also accessible to the app that I am deploying to App Engine?
You can copy a file using the command COPY.
However, it will not work, since the VM running the GAE flex instance uses Linux as seen in StackOverflow.
I also found this related thread, it may be helpful for you.
EDIT
Other options you have to deploy your application, which is in need of a windows executable file, is to create a VM instance with Windows and deploy your application there. Or you could find an alternative for that stand-alone executable for Linux, perhaps?
I've search in vain for about a month now and I can't get my PHP application pushed to Google App Engine, for the PHP platform. I've got the Java version set up nicely on my computer. I followed the instructions for GAE PHP here: https://developers.google.com/appengine/docs/php/gettingstarted/introduction
..but it's really confusing because it essentially tells me to install Eclipse made for PHP which is Luna, but the only versions of Eclipse that GAE supports is Kepler, Juno and Indigo (https://developers.google.com/eclipse/docs/getting_started), so I'm super confused.
I don't think you can install two different GAE plugins on a standard version of Eclipse (which is what I use for the Java GAE plugin).
I also tried (in vain, but it was worth a shot) to upload my app using my Java plugin/setup and obviously this was a terrible idea because all it does is just print the php script/code to the browser.
Any thoughts, brothas/sistas?
I have figured out how to push php files to GAE. There are essentially 3 ways.
Use appcfg.py. Run following command:
--appcfg.py update helloworld/, where helloworld is replaced by the name of the folder containing your project files. Make sure the path is relative to appcfg.py directory or an absolute path.
--Enter your Google username and password at the prompts.
**2. Use the App Engine Launcher, probably found in C:\Program Files (x86)\Google\google_appengine\launcher. Executable is called GoogleAppEngineLauncher.exe. Simply select the project in Launcher and click Deploy.
**3. Use Git. Create a local repository on your machine. Add a repo to your Github account, and follow these instructions: https://developers.google.com/appengine/docs/push-to-deploy#creating_a_cloud_project
**4. Use PhPStorm. Download PHPStorm for free for 30 days, or buy a student version/whatever version you quality for here: . Then follow these instructions: http://confluence.jetbrains.com/display/PhpStorm/Getting+Started+with+PhpStorm+as+Google+App+Engine+PHP+IDE. The only thing I haven't figured out is #5 - where to find the php-cgi.exe file. I can't provide a path for a file I don't have.
** denotes super easy and I have used successfully.
The Google Plugin for Eclipse is only for Java applications. For PHP applications, you'll want to use the Python/PHP SDK and either the command-line tools or the Launcher UI app for running the development server. You can still use Eclipse for editing your PHP source files.
RE #5 - "I can't provide a path for a file I don't have".
That was also my problem.
They are fond of pointing out that the SDK directory should contain dev_appserver.py and ‘google’ and ‘php’ packages but you don't find those in a simple search cause they are invisible. You have to muck through the installation directory.
I've been struggling to find an online IDE which supports Go and Google App Engine. Codeenvy supports it using python, while Cloud9 runs python 2.6 (which isn't compatible with GAE), and the update doesn't work.
Is there any IDE that will allow me to develop and deploy Go to GAE?
Python 2.7.3 should be installable from command line in Cloud9 via c9pm install python27 (see also the github repo.
Koding comes with Go, Python2 & 3, and best of all gives you a normal Ubuntu VM with full root access! It will work great with Go and GAE :)
I've installed the Google Plugin for Eclipse 3.4 and it seems to work fine.
But when I start a new Web Application Project, it wants me to configure the Google App Engine SDK. I click on Add App Engine SDK, but it doesn't recognize my (valid) GAE SDK. It comes back with "Failed to initialize App Engine SDK at %path", no matter what path I give it.
Are you trying to use the Java or Python SDKs, and are you sure you downloaded the right one?
If Python, remember that the Google Eclipse plugin is currently Java-only.
Does your SDK run if you start dev_appserver from the command line? I had a similar problem once and it was because the script wanted to ask me about automatically checking for updates - once I'd answered the question and exited the appserver I was then able to add it to Eclipse.
Have you checked your "path" environment variable to include
;C:\Program Files\Google\google_appengine\
I had this issue. I downloaded the java zip package and extracted it manually but it turned out that the zip file was either corrupted or messed up during the extraction. Regardless, downloading the package again and re-extracting it fixed the problem for me.
Also, if you are on Python use the PyDev plugin for eclipse and start a Google AE project that way. Use the Google Eclipse plugin for GWT, Java->Js stuff.