Open renato2099 opened 1 year ago
Hi @renato2099 I also came across capistrano which looks light weight and is open source as opposed to the other Chef, Puppet or Ansible. One catch is that we need to have Ruby installed and that config is managed via Rake tasks. This is the same as with Homebrew and I have experienced developing and publishing packages on that platform. This is to say we wouldn't be starting from scratch.
After a bit more research I discovered that the thoughtful capistrano
devs split out the SSH-part of Capistrano into a separate project called SSHKit. Here's a real simple [blog post] to give an idea of what we could do with it.
I think we still need two different tools, both Ansible + Capistrano because Ansible will help us configure new servers (not allocate them which terraform would), but to setup different packages, cmd line tools, etc. Let's say for example we would like to setup a DEV server where we can try out different things with Ansible we just point to the new server and configure it to be in the state we need.
Now with capistrano we can manage app deployment (with ansible we could but it'd be awkward and not we don't get all features we need). With capistrano we can deploy to different deployment staging servers for example:
cap production deploy BRANCH=master
or even rollbacks https://capistranorb.com/documentation/getting-started/rollbacks/ So we should have both , now in which order it'd depend on our needs. I think right now it is better to set up capistrano for deployments , and we can keep the Ansible script I developed for a later time when we decide to have a DEV server. Wdyt?
Wdyt?
Yes, makes sense to me.
I put up the configuration script for setting up a new server in PR https://github.com/tagbase/tagbase-server/pull/155 one other thing we should think about is to get a dev server to try stuff out
There are three different candidate tools for deploying code bases into cloud environments: (1) Chef, (2) Ansible and (3) Puppet We should do a quick evaluation on their functionalities and implement the necessary scripts to deploy
tagbase-server
into our target cloud environment.