草庐IT

ansible-runner

全部标签

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

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

gitlab runner 请求的URL返回错误: 403

我目前正在使用gitlab.com(不是本地安装)和他们的multi-runner进行CI集成。这对我的一个项目非常有效,但对另一个项目却失败了。我的主机使用2012R2,MSBuild版本为14.0.23107.0。我知道下面的错误显示403,这是一条访问被拒绝的消息。我的问题是找到要更改的权限设置。错误信息:Runningwithgitlab-ci-multi-runner1.5.3(fb49c47)UsingShellexecutor...RunningonWIN-E0ORPCQUFHS...Fetchingchanges...HEADisnowat6a70d96updateru

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登录到我的服务

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

linux - ansible中的bash数组元素计数操作

想知道这在ansible任务中如何工作?-shell:|y=(aabb);echo"${#y[@]}"register:r目前它给出了以下错误ERROR:Therewasanerrorwhileparsingthetask'shelly=(aabb);echo"${#y[@]}"\n'.Makesurequotesarematchedorescapedproperly..那是因为字符“#”。我无法逃避它,否则这是一个无效的bash操作。如果我逃避它,我会得到:$ansible-clocalhost-mshell-a'y=(aabb);echo"${\#y[@]}"'-ihosts.in

linux - sudo 用户的 Ansible env 变量不同

我们面临的问题是环境变量。用户A的JAVA_HOME设置为1.5,root用户设置为1.7。当我手动登录并检查A和root中的版本时,它反射(reflect)的是相同的。当我以用户A身份通过ansibleSSH并将sudo设置为true(sudo_user=root)时,我预计java版本为1.7但它返回为1.5,这是用户的版本A.知道为什么手动登录和可靠登录之间的行为不同吗? 最佳答案 根据您的系统配置,当Ansible通过sudo提升其权限时,环境将被“净化”,为您提供最小的环境变量集。您的/etc/sudoers文件可能具有设