3.0 KiB
kickstart
Bash installation script for developer environments
Installation
Add it to the path.
One options is to download it, and export the bin folder into your PATH
# Adjust the paths to your preferred location
installation_path=/opt/kickstart
shell_configuration=$HOME/.bashrc
git clone https://github.com/bltavares/kickstart.git $installation_path
echo 'export PATH=$PATH:'$installation_path'/bin' >> $shell_configuration
echo 'eval "$(baseline autocomplete)"' >> $shell_configuration
The other is to link the bin/kickstart
into a place that is already on your path
# Adjust the paths to your preferred location
installation_path=/opt/kickstart
shell_configuration=$HOME/.bashrc
git clone https://github.com/bltavares/kickstart.git $installation_path
sudo ln -s $installation_path/bin/kickstart /usr/local/bin/kickstart
echo 'eval "$(baseline autocomplete)"' >> $shell_configuration
Usage
create
Creates a sample project structure
kickstart create [folder name or current folder]
docker-create
Creates a docker container with a running sshd to test recipes
kickstart docker-create
docker-ssh
Access the created docker container over ssh. A simple utility that looks up for the port the docker is bound.
kickstart docker-ssh
compile
Compile the current workspace into the folder to be packaged on deploy
kickstart compile
deploy
Takes an host target and deploy the compiled code on it.
kickstart deploy [--sudo] [--password PASSWORD] target [roles ...]
Examples
Deploy a role on a host
kickstart deploy vagrant@localhost nodejs
Deploy two roles on a host with an alternative port
kickstart deploy "-p 2222 vagrant@localhost" nodejs redis
Deploy with sudo and send the password for sudo
kickstart deploy --sudo --password vagrant "-p 2222 vagrant@localhost" nodejs redis
local
Deploy localy a recipe that is not over ssh. It basicaly compile and run the install script
kickstart local [--sudo] [roles ...]
infect
Infect your shell with the kickstart utility functions
eval "$(kickstart infect)"
bootstrap
Install kickstart on the target
kickstart bootstratp [target]
Example
Using default ssh configurations
kickstart bootstrap vagrant@vagrant
Using alternate ssh port
kickstart bootstrap "-p 2222 vagrant@vagrant"
doc
Show documentation for a kickstart function
kickstart doc [function name]
Example
List all documented functions
kickstart doc
Show documentation for a function
kickstart doc kickstart.os
autocomplete
Enable autocompletion on your terminal
eval "$(kickstart autocomplete)"
Debbuging
Prepend DEBUG=1 to the command and you will see massive ammount of commands on your screen
DEBUG=1 kickstart local nodejs
Thanks
This project was inspired on sunzi