3.4.3 在AWX中创建项目
如果在命令行上使用Ansible,你不太可能将所有的剧本和角色在一个目录中存储很长时间,因为这将变得不可管理,并且很难确定哪个文件是哪个文件。这就是AWX中建立项目的目的,它只是一个逻辑上的剧本分组,用于使剧本的组织更容易和更简单。
尽管在本书中我们将不讨论基于角色的访问控制(RBAC),但项目在本书中也发挥了作用。在目前提供的屏幕截图中,你可能注意到许多窗格顶部有一个PERMISSIONS(权限)按钮。它们在整个UI中都存在,用于定义哪些用户可以访问哪些配置项。例如,如果你有一个数据库管理员(DBA)团队,他们应该只有权针对这些服务器运行与数据库服务器相关的剧本,那么你可以创建一个数据库服务器的清单,并只授予DBA对此清单的访问权。类似地,你可以将所有与DBA相关的剧本放在一个项目中,并且再次仅授予该团队访问该项目的权限。通过这种方式,AWX形成了企业内部良好流程的一部分,既使得Ansible更容易访问,又确保正确的项目只对正确的人可用。
为了继续简单示例,让我们创建一个新项目来引用示例Ansible代码:
1.单击左侧菜单栏上的Projects。
2.单击绿色+图标创建一个新项目。
3.给这个项目起个合适的名字。
4.从SCM TYPE下拉列表中选择Git。
5.在SCM URL字段中输入URL:https://github.com/ansible/ansible-examples.git。
6.如果只希望使用存储库中的特定提交或分支,也可以选择填充SCM BRANCH/TAG/COMMIT字段。在这个简单的示例中,我们将使用最新的commit,在Git中称为HEAD。
7.不需要其他凭据,因为这是一个公开的GitHub示例,如果你使用的是受密码保护的存储库,那么你需要为3.4.1节中创建的计算机凭据创建一个SCM凭据。
8.选中UPDATE REVISION ON LAUNCH(启动时更新修订)复选框,这将导致AWX每次运行此项目中的剧本时,都从我们的SCM URL中提取最新版本的代码。如果未选中此选项,则必须手动更新代码的本机副本,才能让AWX看到最新版本。
9.单击绿色的SAVE按钮。
完成以上步骤后,生成的屏幕应该类似于图3-7。
图 3-7
在为剧本的第一次运行配置剧本的最后一步之前,我们需要手动从GitHub存储库中提取内容。为此,请单击新创建的项目右侧的两个半圆箭头,这将强制从上游存储库手动同步项目。图3-8显示了一个例子供参考。
图 3-8
在同步过程中,项目标题左侧的绿点(如图3-8所示)将会跳动。一旦成功完成,它将变为静止的绿色,而如果出现问题,它将变为红色。假设一切顺利,我们就可以进入最后阶段,准备运行剧本。
在AWX中定义了项目之后,当我们开始从中运行第一个剧本时,下一个任务就是创建一个模板,我们将在下一节中介绍。