I suggest you ...

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 migrate
appharbor domain --add bob.com
appharbor user --add bill@somewhere.com

55 votes
Vote
Sign in
Signed in as (Sign out)
You have left! (?) (thinking…)
ferventcoderferventcoder shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

13 comments

Sign in
Signed in as (Sign out)
Submitting...
  • anderlyanderly commented  ·   ·  Flag as inappropriate

    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:
    http://nuget.org/List/Packages/PowerCurl
    Here's the project url:
    https://github.com/anderly/PowerCurl

    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!

  • anderlyanderly commented  ·   ·  Flag as inappropriate

    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
    etc., etc.

    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.

  • tpltesttpltest commented  ·   ·  Flag as inappropriate

    This is a really needed feature, because using command line is much faster and easy to control than using GUI :D

  • anderlyanderly commented  ·   ·  Flag as inappropriate

    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.

  • bsimserbsimser commented  ·   ·  Flag as inappropriate

    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

  • daviddavid commented  ·   ·  Flag as inappropriate

    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.

  • ashmindashmind commented  ·   ·  Flag as inappropriate

    I hope it will not be a gem, since installing Ruby to use pure .NET things, while somewhat popular lately, is still rather inconvenient.

  • ferventcoderferventcoder commented  ·   ·  Flag as inappropriate

    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?

Feedback and Knowledge Base