i had very nice dev. env. - clojure, maven and jetty with hot deploy. now i moved to google appengine and i can not figure out how to configure maven achieve hot deploy
There is a bug with gae:run that currently doesn't hot deploy changes (see Issue 47). Maybe try the suggested workaround.
There is a google app engine plugin for maven that supports deploy. Hot-deploy is not mentioned but this is where I'd start. Not sure if it works for clojure but I see not reason why it wouldn't.
Related
Recently tried to update my Gaelyk project (yes, it's old, but it works well and I still use it), but Google App Engine will no longer accept the update. The error message returned is "Deployments using appcfg are no longer supported. See https://cloud.google.com/appengine/docs/deprecations". The thing is, I never used appcfg to deploy my application; I used Gaelyk and Gradle. But obviously Gaelyk must have used appcfg under the covers.
I did download the replacement Google Cloud SDK, but this new tool is not similar at all to how Gaelyk and Gradle worked. Is there anything I can do to get Gaelyk to work anymore? Or is Gaelyk just dead and I need to rewrite my application (like in Node.js or something instead of Groovy).
This will be hard, however I will try to help you as possible. I think you may try to migrate it somehow to app.yaml configuration of GAE.
I am not sure what plugins are used in the project. From Gaelyk temple project I can see that it's using appengine-geb which, according to the documentation, behind the scenes, is using gradle-appengine-plugin (there is wrong link on this doc, but proper is bellow).
On the github of gradle-appengine-plugin I have found following.
There is a note:
NOTE: All App Engine users are encouraged to transition to the new
gradle plugin for their projects.
And in FAQ part there is following information:
How do I deploy with gcloud?
If you're using gcloud to deploy your application, the newest version of app deploy > doesn't support war
directories, you will need to provide it with an app.yaml OR you can
use the appengineStage task to create a directory that is deployable
in /build/staged-app
$ ./gradlew appengineStage
$ gcloud app deploy build/staged-app/app.yaml --project [app id]
--version [some version]
NOTES:
You must explicitly define all config files your want to upload
(cron.yaml, etc)
This does not work with EAR formatted projects.
I think the best option will be to migrate to new appenine plugin or if not possible try to implement is with gcloud app deploy command crating the config files manually (at least app.yaml). And for this migration I can provide you this document.
I hope you will manage somehow...
I can confirm that Serge's answer on the Gaelyk Groups site works; the same procedure that he figured out also worked for me. To summarize:
Run gradlew appengineRun as run previously with Gaelyk.
Copy all jar files inside the build\exploded-app\WEB-INF\lib folder into a \src\main\webapp\web-inf\lib folder (for me the new lib folder did not exist previously).
To deploy, use the new required gcloud tool, and instead of running gradlew appengineUpdate (which fails now), instead run
gcloud app deploy appengine-web.xml where that XML file can be found in your webapp/WEB-INF directory. I navigated to that directory to run the gcloud command, but you can use a relative path there if your working directory is elsewhere. (There are a number of optional flags associated with the gcloud app deploy command, but I didn't need any of them.)
Serge needed to use these instructions to convert datastore-indexes.xml to index.yaml and run gcloud app deploy index.yaml, however, I didn't need to do this because I had no datastores.
Folks,
I'm using the recently released Google Cloud SDK 0.9.56 on Windows 7x64.
When trying to gcloud deploy my app using web.xml and appengine-web.xml, I get a response:
ERROR: Found no valid App Engine configuration files in directory
When trying to do the same with apps defined with app.yaml there were no issues.
Teammates with older SDK versions don't seem to have an issue.
Is there a mandatory requirement to use app.yaml in all apps?
P.S: This question might be related but its actually a different issue.
sorry about this.
That question you linked is actually the same issue. You can use the new maven plugin described there to translate your appengine-web.xml to app.yaml automatically. We have a gradle plugin coming out very soon to do the same thing.
If you'd like to keep using gcloud directly without Maven or Gradle, you'll need to translate the appengine-web.xml to an app.yaml for now.
Let me know if I can help.
I have Ruby on Rails as my primary programming language and the workflow mostly went as make changes-commit changes-push changes-deploy with capistrano
I looked over the internet for ways to have such a workflow (or at least quite similar) for Angular.JS and I can't seem to find one. There is Yeoman but I can only see examples for Heroku. I host with Webfaction right now.
So I was wondering is there some way to track an angular JS project with Git (preferably Github) then deploy it to Webfaction from that git repo?
Thanks in advance!
I use yeoman to setup angular.js apps and capistrano to deploy them on production (digitalocean) - I wrote an article about this: http://howwedoapps.com/2014/04/03/deploy-angularjs-app-with-capistrano-on-the-cloud. I hope it helps.
I don't know anything about Webfaction, but if it's a VPS you have take a look at Dokku.
It's basically your own Heroku, hosted on your own server.
While it's not specificaly git based, capistrano is one of the most popular ways of deploying ruby web application to a vps. It has features that would allow you to deploy from github, but that would need to be configured separately and would need to be called from the command line from your development computer.
Is there a Gradle plugin (compatible with Gradle 0.9.2) that'll let me deploy to Google App Engine 1.4.2?
If yes, how can I integrate it (build.gradle snippet)?
Axel,
today is your lucky day. ;-) I just released a Gradle GAE plugin that provides tasks for uploading, running and managing Google App Engine Java projects. Give it a shot. The
documentation describes setup and convention properties in detail. Let me know if you have feedback or feature requests.
The Spring Security build uses gradle to deploy a sample app to GAE. You could copy that (see the sample app gradle file), or clone the repo and use it in place as a guide. It uses a simple internal plugin.
Has anyone used Maven, Grails, and App Engine together?
I can use Maven with Grails and Grails with App Engine, but using them in concert gives me the following error:
The command 'grails run-app' is not supported with AppEngine. Use 'grails app-engine' to start the application
Is there any way to "pass through" the Maven goal to access app-engine plugin for grails?
AFAIK, the Maven Grails plugin does not support the features introduced by Grails AppEngine Plugin yet. So, for now, you have to run (not sure what you mean by "pass through BTW):
grails app-engine run
In the command prompt, you can run:
mvn grails:exec -Dcommand="app-engine" -Dargs="run"
Which will do exactly what you want it to do.