相关疑难解决方法(0)

如何设置注册变量以在ansible中播放之间保持?

我有一个ansible playbook,我想在一台机器上注册的变量在另一台机器上可用.

在我的情况下,我想localhost在这种情况下 运行命令git rev-parse --abbrev-ref HEAD,所以我可以记下当前的git分支和sha1,并注册这个输出,所以我可以在以后工作任何机器时参考它该main集团在第二个上场.

但是,我不清楚如何在localhost上注册变量,所以我可以从main访问它.当我尝试在第二次播放中访问变量时,我收到以下消息:

TASK: [debug msg={{ app_git_sha1.stdout }}] ***********************************
fatal: [main] => One or more undefined variables: 'app_git_sha1' is undefined
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的剧本.有什么明显我应该做的吗?

---
- hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - name: register current branch
      command: git rev-parse --abbrev-ref HEAD
      register: git_branch
      sudo: no
      when: vagrant
      tags:
        - debugsha

    - debug: msg={{ git_branch.stdout }}
      tags:
        - debugsha

    - name: register the SHA1 of the branch being deployed
      command: git …
Run Code Online (Sandbox Code Playgroud)

deployment ansible

52
推荐指数
3
解决办法
5万
查看次数

将变量传递给嵌套的剧本的最佳实践?

所以我试图绕着Ansible包围并构建一个简单的LEMP堆栈.我决定使用嵌套的剧本,因为我想在学习的同时尽可能地划分区域.我遇到了这个问题,我需要传递一些变量,比如mysql的root密码.现在我想知道是否有任何最佳实践从主要剧本中传递各种各样的剧本,或者是否应该在各个子剧本中设置变量?我使用这个回购作为我自己项目的基础.我也想知道如何在varibles中使用overriding,如果在子playbook中设置了默认值,那么在主playbook中设置的变量是否会覆盖这个值?

ansible

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

ansible ×2

deployment ×1