| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
█████╗ ██████╗ ███████╗██████╗ ████████╗ ██╔══██╗██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ ███████║██║ ██║█████╗ ██████╔╝ ██║ ██╔══██║██║ ██║██╔══╝ ██╔═══╝ ██║ ██║ ██║██████╔╝███████╗██║ ██║ ╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝
Adept is a very simple way to run commands & deploy apps on multiple servers. It runs on Shell (Linux, Mac, etc), over SSH and without any agents. Adept was created by non-DevOps folks at @UnwiredLabs to quickly manage ~ 25 servers without learning ansible or chef.
###How it works
Adept uses SSH to login to one or more servers and execute a series of sh/bash commands. This can be done sequentially or parallely. Commands are executed from the entry script - deploy.sh and the structure of a typical command is as follows:
$ ./deploy.sh <Host-group file / SSH identity> <Task file> [Parallel or Sequential; default sequential]
Host group & Task files are stored in the ./hosts and ./tasks folders respectively. Hosts are read from the local SSH config file, usually located at ~/.ssh/config. These hosts need to be configured with SSH keys.
###Things you could do on multiple systems with Adept
###Examples These examples are included in /tasks folder of the project
####Show current system date on all servers parallely:
$ ./deploy.sh all date 1
####Show available disk space on all servers sequentially:
$ ./deploy.sh all disk 0
####Deploy LAMP-server on a group of hosts:
$ ./deploy.sh webservers deploy-lamp
Adept can also use sFTP to copy files, such as config files, to servers. In-order to deploy the configuration files, we recommend you place them under ./configs folder
####Deploy a PHPMyAdmin instance on a single host:
$ ./deploy.sh host1 deploy-pma
###Adding servers / host-groups
####Create a host-group
####For a single server
###Writing Adept scripts
####Create a task
ssh -t -t "$line" \ 'hostname && exit;'
out=$(printf "\n*SSH to $line*\n\n" ssh -t -t "$line" \ 'hostname; echo -ne "Git pull \t"; cd /var/www/ && git pull -q && echo "Done"; exit; ') printf "%s\n\n" "$out"
if [ "$typeExec" = "1" ]; then
echo "Cannot run parallely, please set parallel to 0"
exit
fi
####Create a local-only task To create a task or host-group that's only accessible on your local machine and not visible to GIT, add @ to the task or host group and save it in the /local/ sub-directory.
####Road-map for new features
Logo credit: http://patorjk.com/software/taag/
| Back | FazBrowse Home | New Git URL |