12 ms·
Introducing Heroku Button
- gmacdon89 12y agothis is awesome.
- benologist 12y agoThis is brilliant. Are affiliate links on the roadmap? That could create a great revenue stream for self-hosted projects.
- timdorr 12y agoDoes this support normal Git links? If so, you could simply link to a Gumroad or similar site and have that send a Heroku Button link with a customized git repo where they can deploy from.
- andy_ppp 12y agoI imagine you need to set up your app to use Heroku. It's not very hard but beware that you can't write to the filesystem with Heroku so that would need to be factored in to the functionality of quite a few apps.
- bjeanes 12y agoYou can write to the file system, it's just not persistent across dyno restarts or shared across running dynos. Writing out for in-request work is fine.
- sadkingbilly 12y agoOr replace writing to the file system with storing as a json object on one of many online (eg. cloud) providers.
- friism 12y agoRight now buttons only work with source code hosted on GitHub (although the button can be added anywhere). We want to extend that to other source code hosting services, though.
- benologist 12y agoHow about linking to a zip or tar file?
- MaxGabriel 12y agoHeroku should consider using SVG for the badge, just like shields.io and services like Travis CI do. The current button is blurry on a retina screen, and basic SVG is really well supported.
- mschoening 12y agoHere you go (we'll update docs momentarily): https://cdn.herokuapp.com/deploy/button.svg https://cdn.herokuapp.com/deploy/button.svg
- pooper 12y agoVery impressive
- danielweber 12y agoI'm not on a retina display but that doesn't look as nice. The letters are so thin they start to disappear even before using the light-purple-on-dark-purple font.
- yutah 12y agothe font does look thinner but I like it (doesn't look any more invisible from my eyes)
- dubcanada 12y agoThe fact that on a Mac the font is thinner makes me wonder if you can even see it on Windows?
- thaumasiotes 12y agoJudging by my windows machine and using just my eyes, yes, it's a little thinner, and no, there's no problem reading it. The faded-grey-ness of the words "to Heroku" is a much bigger legibility problem than the minor change in font weight.
- jrnkntl 12y agoI think they're still working out the kinks [1], but nevertheless, great when it works. No more 'behind' hosted demos for open-source apps, just let them instantly deploy it and play with it on their own. [1] Tried the sample node.js app immediately, although I am getting "Deployed to heroku", viewing it throws a "No such app" - https://www.dropbox.com/s/bsl55sia46ymrwv/Screenshot%202014-08-07%2019.24.13.png https://www.dropbox.com/s/bsl55sia46ymrwv/Screenshot%202014-...
- korzun 12y agoNow it's throwing internal server error.
- swanson 12y agoAwesome - I mentioned this 400+ days ago when the platform API was announced! Cool to see it getting rolled out, looking forward to playing around with this. https://news.ycombinator.com/item?id=5793441 https://news.ycombinator.com/item?id=5793441 EDIT: Setup was pretty smooth - one click deploy for my RSS reader now: https://github.com/swanson/stringer https://github.com/swanson/stringer
- ceejayoz 12y agoThis is extremely clever. One of the reasons WordPress took off was the easy, non-technical install process.
- aikah 12y ago> This is extremely clever. One of the reasons WordPress took off was the easy, non-technical install process. Ironically Wordpress is a pain in the ass to deploy on "non persistent/deploy with git" PAAS.And uploading plugins directly through the admin is a no go in these cases. Worpdress wouldnt deploy directly with that one click install,given the fact the configuration is hardwritten on the disk.It would need some refactoring. You'd need at least to enter some env variables to make things work,and the app would need to detect the db state and run migrations,if not properly initalized,when using a RDBMS(since again,sqlite is out of question on Heroku).
- toadkicker 12y agoAll the same that Wordpress could easily adopt using environmental variables for configuration values to achieve this and simply use a heroku-ified version of config.php. I've used this approach for scaling wordpress sites and its never failed me.
- dubcanada 12y agoThat's 90% related too PHP. Not really Wordpress. I mean the whole setup LAMP is probably about as easy as it gets in regards to deploying something.
- timdorr 12y agoDoes this have to work only via Github? Any chance it can support any arbitrary Git URI?
- deleted 12y ago[deleted]
- friism 12y agoRight now buttons only work with source code hosted on GitHub (although the button can be added anywhere). We want to extend that to other source code hosting services, though. The challenge is that we have to resolve the [app.json][1] file to generate the deploy UI. [1]: https://blog.heroku.com/archives/2014/5/22/introducing_the_app_json_application_manifest https://blog.heroku.com/archives/2014/5/22/introducing_the_a...
- Artemis2 12y agoWhy not do something like the go get tool, that uses git, mercurial and subversion to try to resolve a repo by a URL and to get its contents?
- ryanbrainard 12y agoThe button only works with GitHub repos at this time, but if you can place the button on other sites by using the ?template= parameter to point back to the GitHub repo. If you would like to have an app.json in a non-GitHub repo (or any source in a tarball for that matter), you can use the app-setup API (https://devcenter.heroku.com/articles/platform-api-reference#app-setup https://devcenter.heroku.com/articles/platform-api-reference...) to do the deployment.
- serverascode 12y agoI really like this idea. Now just need to figure out something to setup to use it...
- taternuts 12y agoNice - nitrous.io has had this for awhile in their Hack Button (https://www.nitrous.io/hack https://www.nitrous.io/hack), and I always thought it was pretty cool.
- Dorian-Marie 12y agoAwesome, can't wait for "Deploy Discourse to Heroku", "Deploy Jekyll to Heroku", ...
- derwiki 12y agoIt would be a great "growth hack" for services like that
- aaronbasssett 12y agoThis is amazing, it's a simple app but https://github.com/aaronbassett/Bad-Tools https://github.com/aaronbassett/Bad-Tools only needed 1 single line change to work. Really impressed although I do need to read up more on the app.json schema.
- btown 12y ago> Note that the snippet is repo-agnostic: It can be copy-pasted without modification and will work correctly if forked to a different repo. Heroku resolves the repo originating a button click by inspecting the referer header. Is the referer reliable enough on modern browsers to assume this? Perhaps coming from an analytics perspective, we see all types of query-string hacks so that you can attribute the sources of links everywhere... so it's surprising to see a company depend on this functionality in a product. I suppose almost all developers would be using a browser that correctly sends referer headers... is this the case?
- michaelmior 12y agoThey do mention an alternative where you can set stuff in the query string. I'd probably rather do that instead. Especially since you could easily end up putting that button out of the context of your repo at some point and have it end up completely broken.
- cben 12y agoBut if I fork a repo with a button (or even navigate to different branch/commit in same repo), a manually set query string would still point to the same code. Whereas the referer headear can identify exactly the right version briliantly.
- naaman 12y agoThere's a small gallery of Heroku button templates at https://clone.herokuapp.com/ https://clone.herokuapp.com/
- arikrak 12y agoThey should connect this to https://sandstorm.io/ https://sandstorm.io/
- mahmoudimus 12y agoThis is amazing - this is something similar to the experience I want to provide for our internal engineering team. Most developers get stuck on packaging their app, deploying it, managing it. This is one of those cases where it "just" works. It would be really cool to try to replicate this in our AWS setup. Guess I know what my weekend project will be :D
- southpolesteve 12y agoI actually built this exact thing myself last year: https://github.com/southpolesteve/deploy_button https://github.com/southpolesteve/deploy_button Here is a repo that has the button included: https://github.com/southpolesteve/lucre https://github.com/southpolesteve/lucre Obviously I never really promoted it and I'm glad to see that Heroku built something official. But maybe someone far in the future will see this comment and remember :) Quick edit: Here is the announcement email to the local railer's group https://groups.google.com/forum/#!topic/Mad-Railers/-1MkbbkXrYg https://groups.google.com/forum/#!topic/Mad-Railers/-1MkbbkX... To be clear, I have no reason to believe that Heroku used anything I made. Just wanted to self promote a bit.
- southpolesteve 12y agoI actually built this exact thing myself last year: https://github.com/southpolesteve/deploy_button https://github.com/southpolesteve/deploy_button Here is a repo that has the button included: https://github.com/southpolesteve/lucre https://github.com/southpolesteve/lucre Obviously I never really promoted it and I'm glad to see that Heroku built something official. But maybe someone far in the future will see this comment and remember :)
- michaelmior 12y agoAnyone else having a lot of problems getting it to work. I keep getting a "Something went wrong" message with no additional information. Even if I create a minimum viable app.json, nothing seems to work.
- dinkumthinkum 12y agoI think this is a pretty innovative marketing ploy. Seems to make a blog post very Heroku centric if you add this button but I see the benefits.
- wildpeaks 12y agoKudos, now that's good business: it benefits both the company (because once you're there and it works, you're less likely to switch to another host) and the users who want to quickstart something.
- coopr 12y agoHowsabout an app that performs terribly and does nothing - except teach you to improve your Ruby code? Yeah, there is a button for that https://github.com/newrelic/newrelic-ruby-kata https://github.com/newrelic/newrelic-ruby-kata