Skip to content

Instantly share code, notes, and snippets.

@yannski
Created December 21, 2015 11:06
Show Gist options
  • Save yannski/cd38bfd35be4733eda3a to your computer and use it in GitHub Desktop.
Save yannski/cd38bfd35be4733eda3a to your computer and use it in GitHub Desktop.
<p>Deploying various projects whose source is hosted on Github is now just one click away with our new “one-click deploy” feature.</p>
<img class="fullwidth" src="https://41.media.tumblr.com/e3638887f597460c024650c151565bd5/tumblr_inline_nzpeo9rKiT1sn0sdx_1280.jpg"></img>
[[MORE]]
<p>With this new feature, you just have to write a small JSON file placed at the root of your Github repository to make it an automatically deployable application on Scalingo.</p>
<h3>How does it work?</h3>
<p>When a user visits an URL like <em>https://my.scalingo.com/deploy?source=https://github.com/TelescopeJS/sample-project/</em>, the Dashboard will call the Github API to fetch a scalingo.json hosted at the root of the Github repository referenced in the <em>source</em> parameter of the URL and display the settings page accordingly:</p>
<img class="fullwidth" src="https://40.media.tumblr.com/cab82e75aae8cb704ee4440f24451101/tumblr_inline_nzpetktj2B1sn0sdx_1280.png"></img>
<p>The Dasboard will also call <a href="http://developers.scalingo.com/">Scalingo’s API</a> to display the correct addons information.</p>
<p>The user can then choose it’s project name (and .scalingo.io subdomain accordingly) and install the application.</p>
<h3>Anatomy of a scalingo.json file</h3>
<p>Everything is explained in <a href="http://doc.scalingo.com/deployment/one-click-deploy.html">this page of our Documentation Center</a> but here is an example to deploy the famous <a href="http://www.telescopeapp.org/">Telescope</a> app written in Meteor:</p>
<pre><code>
{
"name": "Telescope",
"description": "An open-source community app built with Meteor",
"repository": "https://github.com/TelescopeJS/sample-project/",
"logo": "http://www.telescopeapp.org/images/logo.png",
"website": "http://www.telescopeapp.org/",
"addons": ["scalingo-mongodb"]
}
</code></pre>
<p>
Each field is self-explanatory:
<ul>
<li>name is the displayable name of your app</li>
<li>description is a small text describing your app</li>
<li>repository is the URL of the target Github repo</li>
<li>logo is the logo of your app</li>
<li>website is the official URL of your app (not to be confused with the URL your app will get after its deployment on Scalingo)</li>
<li>addons: the list of addons your app needs to run on Scalingo</li>
</ul>
</p>
<p>
You can now make a link to our dashboard to help deploy your app on Scalingo.
<br/>
Here is such a link: https://my.scalingo.com/deploy?source=https://github.com/TelescopeJS/sample-project/.
<p>
<h3>Scalingo deploy button</h3>
<p>Of course, we provide a lovely button which you can use freely to help you orient your users:</p>
<p><img src="https://cdn.scalingo.com/deploy/button.svg" style="height:100px;" /></p>
<p>URL is : <a href="https://cdn.scalingo.com/deploy/button.svg" target="_blank">https://cdn.scalingo.com/deploy/button.svg</a>. Thanks to Sébastien Lorentz from <a href="http://goodmorningmajor.com" target="_blank">Good Morning Major</a> for the design!</p>
<h3>List of applications already one-click deployable</h3>
<p>Here is a small list of open source web applications that are already
one-click deployable (just click on their logo to deploy them!).</p>
<p>
<ul style="list-style-type:none;">
<li style="float:left;width:50%;padding:20px;">
<a href="https://my.scalingo.com/deploy?source=https://github.com/TelescopeJS/sample-project/">
<img alt="telescope logo" src="http://www.telescopeapp.org/images/logo.png" style="height:100px;">
</a>
<br/>
<a href="http://www.telescopeapp.org" target="_blank">Telescope</a>
<br/>
<small>An open-source community app built with Meteor</small>
</li>
<li style="float:left;width:50%;padding:20px;">
<a href="https://my.scalingo.com/deploy?source=https://github.com/wekan/wekan/">
<img alt="wekan logo" src="https://raw.githubusercontent.com/wekan/wekan/master/meta/icons/wekan-150.png" style="height:100px;">
</a>
<a href="https://wekan.io/" target="_blank">Wekan</a>
<br/>
<small>The open-source Trello-like kanban (build with Meteor)</small>
</li>
<li style="float:left;width:50%;padding:20px;">
<a href="https://my.scalingo.com/deploy?source=https://github.com/netgusto/Baikal">
<img alt="Baikal logo" src="https://cdn.rawgit.com/netgusto/Baikal/branch-2/web/assets/images/baikal-logo.svg" style="height:100px;">
</a>
<a href="https://github.com/netgusto/Baikal" target="_blank">Baikal</a>
<br/>
<small>Baïkal 2 is a Calendar+Contacts server + web client</small>
</li>
<li style="float:left;width:50%;padding:20px;">
<a href="https://my.scalingo.com/deploy?source=https://github.com/RocketChat/Rocket.Chat">
<img alt="Rocket.Chat logo" src="https://raw.githubusercontent.com/RocketChat/Rocket.Chat/master/public/images/logo/512x512.png?v=3"style="height:100px;" />
</a>
<a href="https://rocket.chat" target="_blank">Rocket.Chat</a>
<br/>
<small>Have your own open-source Slack-like online chat, built with Meteor.</small>
</li>
</ul>
</p>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment