Comments (10)
@elliotweiser so I can remove the step from my scripts, right?
from ansible-role-homebrew.
Works great, thanks!
from ansible-role-homebrew.
Tell Ansible via the ansible.cfg
file where to look for installed roles:
http://docs.ansible.com/ansible/intro_configuration.html#roles-path
Install your requirements to that directory:
ansible-galaxy install -r requirements.yml -p /path/to/git/repo/roles
Then commit the roles directory to your repository.
That said, I'm curious why you'd need to install the roles on multiple machines. You should only need to download the roles once onto the control node. It may not be feasible in your company, but with one control node, you should be able to manage multiple other machines if they are enumerated in the control node's inventory.
http://docs.ansible.com/ansible/intro_inventory.html
from ansible-role-homebrew.
@trusk89 - Indeed, as @elliotweiser says, for stability and performance it's often desirable to 'commit your dependencies'; see how Drupal VM does it here: https://github.com/geerlingguy/drupal-vm/tree/master/provisioning
For most of my 'actual money-earning production' playbooks, I add an ansible.cfg
with the roles_path defined, then commit the roles to the repo.
from ansible-role-homebrew.
Yeah, I did that and it works pretty well. One thing i don't get yet (didn't have time to test before leaving work): if I have my roles already stored on my repo, do I need to run ansible-galaxy install requirements.yml? Or they are automatically searched for and found in the path I set in ansible.cfg?
Thanks for all the help guys!
from ansible-role-homebrew.
The ansible-galaxy
command will search the paths enumerated in the roles_path
variable defined in your ansible.cfg
. Therefore, as long as the roles are committed somewhere in that list of paths, ansible-galaxy
will not need to re-download them unless you force -f
it.
from ansible-role-homebrew.
Go for it.
from ansible-role-homebrew.
Thanks again guys!
from ansible-role-homebrew.
No problem! Also, note that ansible-galaxy
isn't a full fledged package manager (at least not yet), so when updating things, you might have to delete a package then install, or use --force
to force install a newer version.
from ansible-role-homebrew.
It isn't, but what it is, is great! I managed to automate env setup for 3 machines: a jenkins master, a jenkins build slave and an iOS/Android development machine. It's great!
from ansible-role-homebrew.
Related Issues (20)
- `Force update brew after installation.` task fails if `homebrew_user` is different than `ansible_user_id` HOT 1
- error trying to install cask HOT 1
- Update Homebrew Itself HOT 2
- Question: Can you please explain why we are not using the official install shell script? HOT 2
- Speedup brew and brew cask install/uninstall tasks HOT 2
- Install from Brewfile fails when mas Apps are included HOT 2
- Installing casks requiring sudo password? HOT 6
- When installing casks, anything with a dash errors. HOT 15
- Migrate from Travis CI to GitHub Actions for testing HOT 2
- Preparing for Ansible 2.10 Collections HOT 2
- `brew cask install` is deprecated in favour of `brew install --cask` HOT 6
- Error: Cannot install in Homebrew on ARM processor in Intel default prefix HOT 1
- homebrew_tap module fails when moving the homebrew_prefix and brew is not in the path HOT 3
- dot files repo only supports "master" branch HOT 1
- Running against macos 10.14.6 fails HOT 1
- installing is very slow. HOT 1
- Hanging at Ensure Homebrew parent directory has correct permissions HOT 1
- Install from Brewfile unable to find brew HOT 1
- execute local vs ssh HOT 1
- Deprecate this role in favor of the new geerlingguy.mac collection HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-role-homebrew.