aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html')
-rw-r--r--content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html70
1 files changed, 0 insertions, 70 deletions
diff --git a/content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html b/content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html
deleted file mode 100644
index 707ba7d..0000000
--- a/content/posts/2019-04-22Automating_desktop_setup_with_ansible-pull_part-2.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<section>
- <a href="/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html">See part 1</a>
- <p>
- Now we're going to setup ansible to work with a git repository. The process is
- quite similar to ansible-playbook, the only difference is that the source for
- the playbook will be a remote repository and not a local file. Following the
- previous example we'll get vim setup automated.
- </p>
- <p>
- Create a git repository wherever you see
- fit, <a href="https://about.gitlab.com/">gitlab</a>
- and <a href="https://github.com/">github</a> offer free repositories. For
- this task we need to add only two file: one for the yml file describing the
- tasks and the .vimrc file.
- </p>
- <p>
- In the .vimrc add your own configuration, you can see
- mine
- <a href="https://gitlab.com/gabrielgio/homestation/-/blob/debcf3458df511aef9f7dca0cb73f6cf6baddd5d/.vimrc">
- over here
- </a>, it is pretty simple as I don't use it but for simple text editing
- (like this post) so you can start with that if you don't have one.
- </p>
- <p>
- The yml file will have two tasks, one is to install vim, just like we did in the part 1.
-<pre><code># main.yml
----
-- name: install vim
- dnf:
- name: vim
- state: latest</code></pre>
- </p>
- <p>
- To copy .vimrc file to your $HOME we going to
- use <a href="https://docs.ansible.com/ansible/latest/modules/copy_module.html">copy
- module</a>:
- </p>
- <p>
- After we've added those two files to repository you will have be something
- <a href="https://gitlab.com/gabrielgio/homestation/-/tree/debcf3458df511aef9f7dca0cb73f6cf6baddd5d">
- like this.
- </a>
- <br/>
- Parms:
- <ul>
- <li><strong>-i</strong> is a list of hosts</li>
- <li><strong>-U</strong> is the get repository url</li>
- </ul>
- </p>
- <p>
- Remember man is your best friend, take a look at <code>man ansible-pull</code> to know
- more about its parameters.
- </p>
- <p>
- The best part you can quickly test and see the result by running my sample:
-<pre><code>ansible-pull \
- -U https://gitlab.com/gabrielgio/homestation.git \
- -C debcf3458df511aef9f7dca0cb73f6cf6baddd5d \
- -i all \
- main.yml</code></pre>
- </p>
- <p>
- The idea here is to keep your repository as a source of truth when comes to
- configuration, you can add ansible-pull to a CRON tab, so you just need to
- push something to your repository and after a few minutes not only your
- machine but all the machines that have it setup will run the playbooks. You
- can use this method as a simple way to install software, update machines or
- even distribute tooling company-wise.
- </p>
-</section>