Configures and installs required software for a dev team setup.
Ansible is an open-source automation tool that simplifies the deployment, configuration, and management of IT infrastructure. It allows system administrators to automate repetitive tasks, such as software installation, system configuration, and application deployment, using a simple and human-readable language. Ansible also provides features for role-based access control, task delegation, and reporting, making it a popular choice for managing complex IT environments.
The use case here is for the local dev machine setup which is completed by the cloning of this repo and running locally, rather than configuration to the managed hosts via SSH or WinRM.
-
Ensure Apple's command line tools are installed (xcode-select --install to launch the installer).
-
- Run the following command to add Python 3 to your $PATH:
export PATH="$HOME/Library/Python/3.9/bin:/opt/homebrew/bin:$PATH" - Upgrade Pip:
sudo pip3 install --upgrade pip - Install Ansible:
pip3 install ansible
- Run the following command to add Python 3 to your $PATH:
-
Clone this repository
-
Run
ansible-galaxy install -r requirements.ymlinside this directory to install required Ansible roles. -
Run
ansible-playbook main.yml --ask-become-passinside this directory. Enter your macOS account password when prompted for the 'BECOME' password.
You can filter which part of the provisioning process to run by specifying a set of tags using ansible-playbook's --tags flag. The tags available are dotfiles, homebrew, mas, extra-packages and osx.
ansible-playbook main.yml -K --tags "dotfiles,homebrew"