Gem/Command Line Application
Like heroku, I want the experience of creating a new application and deploying all from the command line.
gem install appharbor
appharbor create bob
appharbor domain --add bob.com
appharbor user --add firstname.lastname@example.org
AppHarbor now has a CLI, check out the blog post: http://blog.appharbor.com/2012/04/25/introducing-the-appharbor-command-line-utility
The AppHarbor Team
chocolatey install appharborcli.install (cinst appharborcli.install for short)
Can't you do this using git? AppHarbor gives you git access.
I just wrapped up an intiial stab at a package I could use to do the calls to a future AppHarbor REST API. I'm calling it PowerCurl. Basically, a curl-like tool for PowerShell.
Here's the NuGet package:
Here's the project url:
Now, on to wrapping up the NuGet package with PowerShell scripts/commands to use PowerCurl to call an AppHarbor REST API.
If you guys can come up with something similar to the Twilio REST API over HTTPS, this will be a piece of cake.
I have already tested PowerCurl with Twilio's REST API via GET and POSTs and it works like a charm.
Can't wait to be able to do the same with AppHarbor!
I'm in the process of stubbing out a NuGet package made purely of powershell scripts/commands that will replicate the heroku commands listed here: http://devcenter.heroku.com/articles/using-the-cli
This would allow heroku-like command line interface for AppHarbor within the NuGet Package Manager console inside Visual Studio. Really, I think this is better than a console app, etc.
Next step would be for the AppHarbor guys to actually provide an API for these commands to call, but if they do, this should be fairly straightforward.
I'll plan on posting the NuGet package and Powershell scripts to GitHub as soon as I have a good chunk of it stubbed out and will repost a comment with the link.
Here's what might be possible with it:
appharbor list # list your apps
appharbor create [<name>] # create a new app
appharbor rename <newname> # rename an app
appharbor -maintenance on # put an app into maintenance mode (display App_Offline.htm or something similar)
appharbor -maintenance off # take an app out of maintenance mode
appharbor config # display an app's config vars (environment)
appharbor config:add key=val [...] # add one or more config vars
appharbor config:remove key [...] # remove one or more config vars
appharbor config:clear # clear user-set vars and reset to default
appharbor push <branchname> #same as git push appharbor <branchname>
appharbor destroy # destroy an app permanently
You could also use the abbreviated alias (ah):
ah push master #same as git push appharbor master
ah create newappname #create new app at newappname.apphb.com
Let me know what you all think.
Rune, let me know if you guys are open to providing a simple web/rest API for these calls and I'm sure we could have a pretty elegant powershell based solution that would allow devs to stay in Visual Studio, but use the NuGet Package Manager console.
This is a really needed feature, because using command line is much faster and easy to control than using GUI :D
Couldn't this just be a NuGet package with a powershell script to call a public web api? Just like Hanselman's scaffold-controller demo.
Now that we have chocolatey, someone can create an executable to do this. :D
NuGet doesn't support app packages but you could build a package that was a command line tool. I think between AppHarbour adding in this feature and perhaps Rob and myself working on the NuGet side we could come up with a command line deployer delivered through nuget.exe
A gem would really not make sense at all. An API would be much better for this, and would allow for the potential of VS.NET add-ins as well as command-line utilities.
I hope it will not be a gem, since installing Ruby to use pure .NET things, while somewhat popular lately, is still rather inconvenient.
Adminrune (Admin, AppHarbor) commented
I think this would be a really neat feature... We're considering making an API that would enable users to create this kind of integration with us.
Unfortunately NuGet doesn't support application packages. I'm part of the core team. CoApp is supposed to fill that missing part in for Windows and .NET.
That's why I suggested gems, they already have some support for application packages (executables) that NuGet is not meant to have.
Hopefully this makes sense?
how about using NuGet?