草庐IT

ansible-template

全部标签

git - 如何在 ansible 检查模式下运行 shell 命令?

在检查模式下,我想显示服务器中的当前提交。我正在使用shell命令(gitrev-parseHEAD)来注册变量,然后打印/调试它,但ansible在检查模式下会跳过shell命令。有没有办法将shell命令标记为可以在检查模式下安全运行?或者任何ansible模块来做我想做的事?我检查了git的模块,但它看起来只是检查。如有任何意见,我们将不胜感激。 最佳答案 从Ansible2.2开始,therightwaytodoit是使用check_mode:no:tasks:-name:thistaskwillmakechangestot

git - Ansible 任务 - 在没有 SSH 转发的情况下克隆私有(private) git

我正在尝试创建一个Ansible剧本,它将在我们的开发团队计算机和CI/CD服务器上运行。剧本中的任务之一是从私有(private)git存储库获取我们项目的源代码。因为剧本必须从CI/CD服务器运行,所以我们不能使用SSH转发。我想到的是将必要的SSH私钥复制到远程主机,然后使用key从私有(private)git存储库中克隆代码。然而,当尝试这样做时,克隆任务挂起。当尝试手动启动命令时,它会要求输入SSH私钥的密码。SSHkey不使用密码(空白)。谁能分享他们对这个(可能很常见的)问题的解决方案?如果有人需要,这是我目前的剧本:-name:CreateSSHdirectoryfil

git - Ansible:如何在一个剧本中的其他主机上运行任务?

我正在为一个特定目标编写ansible剧本:我想同步服务器A-n上的目录,但在我应该在服务器“B”上进行gitpull之前。我在主机A-n上启动剧本(在list中描述)。我在服务器B上也有“gitpull”的剧本。是否可以将一个剧本包含在另一个剧本中?我不知道怎么做,因为ansible只允许在剧本的开头指定一个主机组。 最佳答案 如果你想运行与主机关联的任务,但在不同的主机上,你应该尝试delegate_to. 关于git-Ansible:如何在一个剧本中的其他主机上运行任务?,我们在S

git - 如何区分 ansible vault 的变化?

我想在ansible保险库文件中查看实际的git提交更改。有没有一种简单的方法可以实现这一点? 最佳答案 你可以非常巧妙地做到这一点,这样普通的git工具如gitlog和gitdiff就可以使用自定义的gitdiff驱动程序和.gitattributes.确保您的保管库密码在.vault_password中并且该文件未提交-您还应该将其添加到.gitignore.添加一个.gitattributes文件,该文件与存储库中使用ansible-vault加密的任何文件相匹配,并为它们提供属性diff=ansible-vault。例如,我

Ansible 中基于 SSH 的 GIT 挂起,即使设置了 ssh-agent 转发

我已经设置了所有我能找到的东西,但仍然从GitHub克隆一个存储库挂起配置过程。我有:known_hosts中的服务器.ssh/配置Hostgithub.comForwardAgentyesStrictHostKeyCheckingno复制私钥公钥在authorized_keys中命令以vagrant用户身份运行剧本是:-name:Checkoutfromgitgit:repo=git@github.com:username/repositoryname.gitdest=/srv/website 最佳答案 只是为了扩展tillda的

git - 使用 Ansible 进行 SSH 代理转发

我正在使用Ansible1.5.3和Git以及ssh代理转发(https://help.github.com/articles/using-ssh-agent-forwarding)。我可以登录到我使用Ansible管理的服务器并测试我与git的连接是否正确配置:ubuntu@test:~$ssh-Tgit@github.comHigituser!You'vesuccessfullyauthenticated,butGitHubdoesnotprovideshellaccess.我还可以使用此帐户克隆和更新我的一个存储库,这样我的git配置看起来不错,并在我直接通过ssh登录到我的服务

Elasticsearch之Template详解

Elasticsearch之Template详解一、IndexTemplate示例1示例2示例3二、DynamicTemplate示例1在ES中我们可以通过设置IndexTemplate和DynamicTemplate来更好的为我们管理和设置索引和mapping。一、IndexTemplate比如一个我们需要使用ES来做日志管理,我们都知道日志的数据量是十分庞大的,如果使用单个索引来保存所有日志数据的话,可能会存在一些性能问题。我们可以通过按天或月来自动生成index,这时候我们就可以用到IndexTemplate,可以为索引和ES集群提供更好的性能。IndexTemplate:可以帮助你设定

mysql - 如何使用 Ansible 创建大型数据库

假设您有一个sql文件database.sql,它创建数据库模式、其中的表和一些初始填充。通常,我可以使用ansible通过以下方式制作此数据库:----name:copydatabase.sqltoservertemplate:src=database.sqldest=/tmp/database.sqlowner=rootgroup=root-name:sqlthethingintoMySQLcommand:mysql"-uroot-p{{mysql_root_password}}这完全符合它所说的。但是当database.sql很大(可能是2TB)时,您真的不希望首先执行复制操作。

linux - Ansible - 如何检查物理内存和可用磁盘是否大于某个值?

如何编写ansible任务来检查物理内存是否>=128MB且可用磁盘>=256MB。我试图获取输出,但我不确定如何进一步进行。#Checkthephysicaldiskmemory128MBandfreedisk256MB-name:checkthephysicalmemorycommand:vmstat-sregister:phy_mem 最佳答案 当您开始编写playbook时,Ansible的首要任务始终是TASK[GatheringFacts]此任务获取Ansible使用但可在您的剧本中使用的一些内部变量。例如,对于内存检查

linux - 升级到 1.9 后,使用 sudo 的 Ansible 文件复制失败

在剧本中,我使用sudo复制文件。它曾经工作......直到我们迁移到Ansible1.9......从那时起,它失败并显示以下错误消息:“ssh连接已关闭,等待sudo密码提示”我提供了ssh和sudo密码(通过Ansible提示),所有其他通过sudo运行的命令都成功了(只有文件复制和模板失败)。我的命令是:ansible-playbook-k--ask-become-pass--limit=testhost-C-Dplaybooks/debug.ymlplaybookd包含:-hosts:designsyncgather_facts:yestasks:-name:Makesure