

Show HN: Shipit, pure JavaScript deployment tool used by Ghost blogging platform - neoziro
https://github.com/shipitjs/shipit

======
pstadler
Glad to see some more effort going into deployment tooling. I think the main
goal of reinventing such tools in different languages is to get rid of the
need of having dependencies outside of the current project's platform, which
makes sense, for me at least.

Shameless plug: I'm the author of Flightplan[1], a library which provides a
simple, yet powerful interface to execute sequences of shell commands on local
and remote host(s).

[1]
[https://github.com/pstadler/flightplan](https://github.com/pstadler/flightplan)

~~~
Dasuchin
I'm a huge fan of Flightplan. I used it extensively at a past job and added it
into our default stack. Every site we worked with (60+ at the time I left) was
using Flightplan for deployment.

------
marmoto
My childish brain pulled a full-Freudian with that name. Might want to
capitalize the I maybe?

~~~
stevekemp
My first thought was related to the name too - it's an unfortunate collision
with Brad Fitzpatricks' shipit:

[http://search.cpan.org/dist/ShipIt/](http://search.cpan.org/dist/ShipIt/)

~~~
baudehlo
It's clearly a port of Brad's ShipIt from Perl to JS

~~~
neoziro
I don't know Brad's Shipit, so it's not a port but it is possible that it's
the same thing.

------
pmp0x
Looks very similar to:
[https://www.npmjs.com/package/flightplan](https://www.npmjs.com/package/flightplan)

~~~
neoziro
Yes, it looks like, I didn't know this project.

~~~
pmp0x
But ShipIt seems to be more modular and event driven while flightplan is just
a rundown of various commands...

------
roelvanhintum
Nice, i prefer node over ruby, so maybe i'll use this. For the same reason i
prefer LESS over SASS (apart from the great performance improvement).

~~~
nailer
If you run `npm install -g sass` you'll get the native JS version of SASS.

~~~
roelvanhintum
Thanks, didn't know that. Right now i was using libsass for some projects. It
compiles faster than the ruby sass.

------
kh_hk
I am starting to see the light on all this tooling madness. It does not
matter: languages and their ecosystems are powerful enough for any project to
build their own tools. Projects are fond of their tools, so they give them
fancy names and logos, and release them in hopes they are useful to somebody.

~~~
neoziro
When will you release a deployment tool in Haxe?

------
jzig
How is this different from Grunt or Gulp? Is it used with or in place of?
After reading the docs I'm not sure I see the difference or the value add.

~~~
nailer
It leverages 'orchestrate' (which is what gulp uses) to do deploys across a
variety of hosts, keeping the old versions around should you need to switch
back easily.

~~~
jzig
But why wouldn't I just use Gulp then?

~~~
nailer
gulp doesn't define groups of servers, or connect to them over encrypted
sockets. This does.

FYI the authors (which I'm not) seem to be gulp fans too, and want to leverage
as much as they can.

------
frik
Is ShipIt an Ansible replacement? The idea of Ansible is good, but I would
like a JavaScript based tool and avoid Ruby. Edit: i meant Python

~~~
treehau5
what about ruby makes you want to avoid it? strictly curious

~~~
frik
Sorry, I meant Python. I am familar with Algol syntax based languages and
prefer
C/C++/ObjectC/C#/Java/PHP/JS/Go/Rust/Lua/Basic/Pascal/Ada/Smalltalk/Scheme
over Python/Ruby/Haskel.

~~~
dragonwriter
What does Algol syntax have to do with that? Several of the first set of
languages you list are not Algol-based, while two of the last three are Algol-
syntax-based.

------
rizalp
What's the difference between build tool, like gulp and deployment tool like
Shipit?

~~~
neoziro
Shipit can run local and SSH commands easily on a group of servers, there is
also a set of tasks ready for deployment.

~~~
s_kilk
So it's like a javascript version of fabric?

------
astrojams
It would be cool to see a tutorial on configuring Shipit to do Ghost
deployments.

------
halfdan
Where is Ghost using this tool?

~~~
fredoliveira
I'd guess they use it on their hosted platform.

~~~
halfdan
Would be my guess too, but other than a single PR from one of the core devs I
can't find any connection between the projects. Is there any source for this?

------
tmikaeld
Sweet, i may actually use it, more documentation would be nice though.

~~~
neoziro
If you need more documentation about deploying using Shipit, you can find it
in the deploy set of tasks: [https://github.com/shipitjs/shipit-
deploy](https://github.com/shipitjs/shipit-deploy)

------
ojanik
Why Javascript?

~~~
Kudos
> Shipit was built to be a Capistrano alternative for people who don't know
> ruby, or who experienced some issues with it. If you want to write tasks in
> JavaScript and enjoy the node ecosystem, Shipit is also for you.

