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