接下来,让我们将新文件提交到我们的仓库:
git add local.yml git commit -m "initial commit" git push origin master
现在我们的新剧本应该出现在我们的 GitHub 上的仓库中。我们可以使用以下命令应用我们创建的剧本:
sudo ansible-pull -U https://github.com/<your_user_name>/ansible.git
如果执行正确,htop 包应该会安装在你的系统上。你可能会在开头附近看到一些警告,抱怨缺少库存清单文件。这很好,因为我们没有使用库存清单文件(我们也不需要这样做)。在输出结束时,它将概述它做的内容。如果 htop 安装正确,你应该在输出的最后一行看到 changed = 1 。
它是如何工作的呢?ansible-pull 命令使用了 -U 选项,它需要一个仓库 URL。出于安全考虑,我给它提供了仓库 URL 的 https 版本,因为我不希望任何主机对仓库具有写访问权限(默认情况下 https 是只读的)。local.yml 是预设的剧本名称,因此我们不需要为剧本提供文件名:如果它在仓库的根目录中找到名为 local.yml 的剧本,它将自动运行它。接下来,我们在命令前面使用了 sudo ,因为我们正在修改系统。
让我们继续为我们的剧本添加更多的包。我将添加两个包,使它看起来像这样:
- hosts: localhost become: true tasks: - name: Install htop apt: name=htop -
- name: Install mc apt: name=mc - name: Install tmux apt: name=tmux
我添加了更多的动作(任务)来安装另外两个包,mc 和 tmux 。在此剧本中选择安装的哪些软件包并不重要;我只是随意挑选这些。你应该安装你希望所有的系统都具有的软件包。唯一需要注意的是,在你分发前,你必须知道那个包存在于软件仓库中。
在我们提交并应用这个更新的剧本之前,我们应该整理一下它。它可以很好地工作,但(说实话)它看起来有点混乱。让我们尝试在一个动作中安装所有三个包。用下面这个替换你的 local.yml 的内容:
- hosts: localhost become: true tasks: - name: Install packages apt: name={{item}} with_items: - htop - mc - tmux
(编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|