AWX+gitlab

awx,gitlab · 浏览次数 : 0

小编点评

本文介绍了如何使用AWX和GitLab进行自动化部署。首先,配置AWX机构、团队和主机;其次,测试主机连通性;最后,对接GitLab并上传Playbook。 1. AWX配置: 1. 添加机构:访问AWX左侧菜单,点击“机构”并添加新的机构。 2. 添加团队:在机构下创建新的团队,并添加相应的成员。 3. 添加主机:将需要被管理的节点添加到机构中,并设置相关变量。 4. 测试主机连通性:通过AWX的“清单”->“Demo Inventory”->“主机”勾选主机,然后执行简单的“whoami”命令以验证连通性。 2. 对接GitLab: 1. 添加凭证:在AWX中添加一个新的凭证,填写GitLab上已注册用户的用户名和密码或密钥。 2. 添加项目:在AWX中创建新的项目,并在项目设置中输入GitLab项目的URL。 3. 上传Playbook:将编写好的Playbook上传到GitLab,并在AWX中创建一个新的作业模板,引用该Playbook。 3. 测试AWX+GitLab: 1. 在AWX中创建一个新的作业,选择之前创建的Playbook和GitLab项目。 2. 等待作业执行完成,AWX将从GitLab下载Playbook并执行其中的任务。 总结:本文详细介绍了如何使用AWX和GitLab进行自动化部署,包括配置AWX机构、团队和主机,测试主机连通性,以及对接GitLab并上传Playbook。通过这些步骤,可以实现利用AWX自动执行GitLab上Playbook的任务,提高部署效率。

正文

AWX+gitlab

我们可以将playbook上传到gitlab,然后awx去执行任务的时候,任务的playbook从gitlab去下载

1. Awx配置

点击左侧访问下拉菜单,然后添加机构

1.1 添加机构

1.2 添加团队

1.3 添加主机

将需要被管理的节点添加进来

变量这个地方可以写内部变量,不知道什么是内部变量可以去看看ansible变量部分

也可以不直接在这里指定变量,那么就需要在凭证里面添加一个机器凭证,里面会让你填入用户名/密码 或者密钥的

1.4 测试主机连通性

依次点击 清单--->Demo Inventory ---> 主机----> 勾选主机---->执行命令

执行一个简单的whoami命令

输出没问题

2. 对接gitlab

2.1 添加凭证

这里的用户名和密码不能乱填,要填已经在gitlab上注册的用户或者马上要到gitlab上注册的用户,这里是我的gitlab用户截图

2.2 添加项目

在awx上创建新项目

确保gitlab上有一个群组,等会是需要输入url的

这个url的来源这样的

  • 1.来到gitlab的界面
  • 2.找到新建的群组/已存在的群组

最后的页面应该成这样

2.3 上传playbook

来到任意节点,只要能连接上git就行

2.3.1 克隆仓库

# 这里的gitlab.hcie.com需要自己在hosts里面做解析
[root@master gitlab]# git clone http://gitlab.hcie.com/devops/myroles.git
Cloning into 'myroles'...
Username for 'http://gitlab.hcie.com': test
Password for 'http://test@gitlab.hcie.com': 
remote: Enumerating objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3 (from 1)
Receiving objects: 100% (3/3), done.

这里需要输入用户名和密码,用户名就用刚刚在awx里面添加凭据的那个用户

2.3.2 创建分支

[root@master myroles]# git checkout -b dev
Switched to a new branch 'dev'
[root@master myroles]# git push -u origin dev
然后输入用户名和密码

2.3.3 编写playbook并上传

[root@master myroles]# cat test.yaml 
- name: test playbook
  hosts: all
  tasks:
    - name: debug
      debug:
        msg: "hello world"
[root@master myroles]# git add .
[root@master myroles]# git commit -m "commit test playbook"
[root@master myroles]# git push
输入用户名和密码开始推送

上传完之后会变成这个样子

2.3.4 上传ansible.cfg(可选)

如果没有特殊的配置的话可以不做这一步

如果是使用的角色来执行任务的话ansible.cfg里面还要定义role的路径

修改里面的一项

[root@master myroles]# vim ansible.cfg
host_key_checking = False

本身是有这一项的,把注释取消

2.3.5 创建作业模板

这里的playbook里面是没有什么东西的,你可以自己把剧本的名字写进去,然后点击保存

这个凭证没有的话你可以创建一个ssh凭证,不创建的话可以在变量里面把用户名和密码都定义进去

然后点击保存

2.4 测试

直接点击启动,他就会开始执行剧本了

等他执行

与AWX+gitlab相似的内容: