Git Pusshuten (プッシュ天ー) - Git deployment
gitpusshuten.com
gitpusshuten.com
The ー character is typically used with hiragana and katakana to elongate the previous character's tailing sound: リー for the name Lee (rii), メートル for meter (meetoru), as examples.
The ー character is not used after kanji because their sound cannot be elongated.
"The nobasu character (ー) ordinarily lengthens the vowel sound directly proceeding it"
But did not know that it "had" to be directly followed by katakana. :)
[Edit: swap "proceeding" for "preceding." Engrish is hard.]
ビル: pronounced "biru" is a shortened word meaning building. ビール: pronounced "biiru" means beer.
In any case, I fail to see how this is any more useful than Capistrano. Just being able to push arbitrary tree-ish hashes to a specific environment isn't very special, as that can arguably already be done with Capistrano.
This also introduces perhaps a new workflow to many people, if you already work with Git. As you said, it isn't very special pushing any branch to any remote location. However, it has not yet been done by anyone else yet (from what I can see, I might be wrong).
For a lot of people, (again, not everyone), it is a joy to be able to spin up a VPS, being able to provision it with pre-configured settings and common dependencies with a few commands, and being able to have your application live in a matter of a few minutes without needing almost _any_ knowledge of Linux.
Of course it isn't for everyone and every project, but it's good (and simple) enough for me. Every project has different requirements for deployment and I sure appreciate the option to chose from a variety of tools.
The problem with capistrano is that it tries to abstract a bit too much of the underlying project and deployment environment away. minicap aims to fix that by providing a minimal, git-centric remote footprint. cap provides a great foundation, but makes a couple of mistakes in its recipes that are easily remedied with a minimalist approach like we've taken in minicap.
For companies with security and/or compliance needs, or paranoid people like me, it's more-or-less vital to keep development and production separated, and to firewall the hell out of what production can actually go out and get, as well as to tightly control who and what has access to the servers.
Most systems like this make the assumption that you've got full root-level access via SSH, which is often not the case. Likewise, I don't see anything for handling multiple servers (maybe I missed that?).
Also, the project just released a few days ago, mainly to say it's there, if anyone wants to contribute or provide feedback that would be very much appreciated. It is still in a _very_ early stage, hence the version 0.0.x so it could really go in a lot of directions, mainly based on input from the community and guys like you. There is a lot of room for improvement.
That said, any piece of information, advice and feedback is most certainly welcome!
set :git_shallow_clone, 1
takes care of this. I think this translates directly to a --depth parameter on git clone.If you read the website you will see that Git Pusshuten can do more than just do a simple "git push" like other solutions.
Git Deploy by Mislav makes the assumptions you work with: Passenger, Ruby on Rails, etc. Git Pusshuten doesn't make such assumptions. It allows you to deploy an application, regardless of whether you're deploying a Ruby, Python, PHP, etc application, to whatever web server by defining _your_ environment through modules.
Additionally, it allows you to provision and pre-configure your environment so you can be up and running with minimal effort and sysadmin knowledge. Other solutions will make you manually set up your environment by SSH'ing into the server to configure everything. Now, I am definitely not saying that that is a bad thing. I'm just saying that Git Pusshuten's _goal_ is entirely different from that of Git Deploy.
So what you're pointing out now would only work for people using Phusion Passenger and a Rack application. That's a limitation that Git Pusshuten is trying to avoid.
If you read the main page, you will (hopefully) in most cases come to understand what this tool does. You will remember it, then look at other projects that also handle deployment and see if they satisfy your needs. You make a list of the tools you might use and try them out. Now you're doing the comparison and "experiencing" what works best for you yourself, rather than listening to my (perhaps in 3 months) outdated information which might be inaccurate.
Now, for convenience I agree that I could make a list to summarize what this is all about but I'm not sure if there's any need for it. The 3 main aspects are covered: "Core", "Hooks", "Modules" and a video demonstrating something very basic.
Regardless, as I already said, any input is welcome and I'll certainly take it into consideration. Thanks!