Ansible Galaxy使用详解


原文链接: Ansible Galaxy使用详解

1. 登录认证

ansible-galaxy login
ansible-galaxy login --github-token=""

2. 创建 roles

ansible-galaxy init ansible-role-name

3. 导入ansible-galaxy

import命令要求您首先使用login命令进行身份验证。 一旦经过身份验证,您可以导入您拥有或已被授予访问权限的任何GitHub存储库。

使用以下内容导入角色:

ansible-galaxy import github_user github_repo --role-name role_name

ansible-galaxy import pytool ansible-role-docker --role-name docker

3. 配置galaxy信息,确保可以使用自定义的 role name

You can now set the role_name in meta/main.yml using the role_name attribute. See role names in docs

galaxy_info:
  role_name: docker

5. 安装使用role

ansible-galaxy install pytool.docker

Travis集成

您可以在Galaxy和Travis中的角色之间创建集成或连接。 建立连接后,Travis中的版本将自动触发Galaxy中的导入,并使用关于角色的最新信息更新搜索索引。

您可以使用setup命令创建集成,但在创建集成之前,必须首先使用login命令进行身份验证; 您还需要在Travis的帐户和您的Travis令牌。 准备好后,使用以下命令创建集成:

$ ansible-galaxy setup travis github_user github_repo xxx-travis-token-xxx

设置命令需要您的Travis令牌,但令牌不会存储在Galaxy中。 它与GitHub用户名和repo一起使用,以创建Travis文档中所述的哈希。 散列存储在Galaxy中,用于验证从Travis收到的通知。

设置命令使Galaxy能够响应通知。 要配置Travis在您的存储库上运行构建并发送通知,请遵循Travis入门指南 。

要指示Travis在构建完成时通知Galaxy,请将以下内容添加到.travis.yml文件中:

通知 :

 webhooks : https : //galaxy.ansible.com/api/v1/notifications/

列出Travis集成

使用-list选项显示您的Travis集成:

$ ansible-galaxy setup --list

ID来源报告


2 travis github_user / github_repo
1 travis github_user / github_repo

删除Travis集成

使用-remove选项禁用和删除Travis集成:

$ ansible-galaxy setup --remove ID

提供要禁用的集成的ID。 您可以使用-list选项找到该ID。

meta/main.yml

---
dependencies: []

galaxy_info:
  role_name: docker
  author: pytool
  description: Docker for Linux.
  company: "pytool.com, LLC"
  license: "license (BSD, MIT)"
  min_ansible_version: 2.4
  platforms:
    - name: EL
      versions:
        - 6
        - 7
    - name: Fedora
      versions:
        - all
    - name: Debian
      versions:
        - jessie
        - stretch
    - name: Ubuntu
      versions:
        - trusty
        - xenial
        - bionic
  galaxy_tags:
    - system
    - containers
    - docker
    - compose
`