ansible - 将变量从项目传递到剧本 ansible
问题描述
这是我的设置。我已经创建了一个 scm 类型的 git 项目,并在那里有我的代码。我的剧本也在那个存储库中,它包含 docker build 和 run 命令。为了构建我的 docker,我应该在我的 docker 文件所在的位置执行构建命令(在这种情况下,ansible 项目克隆 /var/lib/awx/project)。我想找到通往我的 ansible playbook 的路径。
我的剧本如下所示:
---
- hosts: all
sudo: yes
remote_user: ubuntu
gather_facts: no
tasks:
- name : build docker
become: yes
become_user: root
command : docker build -t "test-api" .
- name: run docker
become: yes
become_user: root
command : docker run -it -p 80:9001 --name api test-api
我怎样才能做到这一点?
解决方案
您可以使用vars
来定义变量:
---
- hosts: all
sudo: yes
remote_user: ubuntu
gather_facts: no
vars:
file_path: "<your file path>"
tasks:
- name : build docker
become: yes
become_user: root
command : docker build -t "test-api" .
- name: run docker
become: yes
become_user: root
command : docker run -it -p 80:9001 --name api test-api
并在您的命令中访问该变量,例如“{{ file_path }}”
推荐阅读
- java - 如何制作从泛型超类扩展的非泛型类
- mysql - MySQL 如何从缓冲池中逐出页面?
- node.js - 如何将套接字连接到服务器?
- amazon-athena - HIVE_METASTORE_ERROR 预期为“STRING”,但找到了“STRING”
- jquery - 使用 sessionStorage 的 JQuery 函数不适用于 .aspx 文件
- mongodb - 如何在 mongodb 过滤器中使用计算日期?
- javascript - 如何根据内部子数组的第一项合并二维数字数组?
- c# - 如何获取给定月份生日表上的用户列表?
- swift - 将 do catch 块放入数组
- ios - Swift 将按钮添加到 UISearchBar / UITableView