

Ask HN: How to deploy to a customer that doesn't have access to your repo? - blooberr

I need to support multiple deployments to various customers. Their servers could be on anything.<p>I can access them, but I don&#x27;t want them to be able to directly checkout code from my Github repo.<p>The only tool I&#x27;m familiar with is Capistrano, and as far as I know, requires access on the production machine to the source control repository. That&#x27;s not what I want in this situation... Any ideas or suggestions?
======
pjungwir
It sounds like Capistrano's `deploy_via` option is what you're looking for:

[http://bu.chsta.be/blog/2013-02-24/capistrano-deployment-
str...](http://bu.chsta.be/blog/2013-02-24/capistrano-deployment-strategies-
deploy-via-a-copy/)

------
yen223
If you use ssh for your deployments, look up "ssh agent forwarding". It allows
you to temporarily use credentials from your own local machine to perform
remote operations.

------
Someone1234
Take a stable version, put it into a zip, put that onto a HTTPS server, and
then give them a deployment script which downloads via wget and unpacks it.

Amazon's S3 will host the zip file for pennies.

------
fideloper
No matter what you'll have code on their servers. Some languages have
obfuscation/encryption you can use.

Overall from a tech perspective, I'd suggest building the app into containers
(docker), so the computer they use at least becomes less important. Not sure
what that means for users of Windows.

(Docker won't protect against code theft but is a nice abstraction so the host
OS matters less)

~~~
blooberr
Having code on their servers isn't a big deal.. it's just I don't want them to
checkout from my repo. (Like having to provide credentials, etc)

------
brianjking
Ftploy.com?

