当前位置: 首页 > 知识库问答 >
问题:

如何使用Docker测试Ansible playbook

蒲昊
2023-03-14

我有一个创建标准ubuntu容器的基本DockerFile。我将如何配置ansible主机以便针对docker容器运行它?另外,我怀疑我需要“运行”docker容器以允许ansible连接到它。

共有1个答案

晋鹤轩
2023-03-14

在docker容器中运行playbook实际上可能不是最好的方法,除非您的舞台和生产服务器也是docker容器。Docker ubuntu映像被剥离下来,与完整安装有一些不同。一个更好的选择可能是在与您的舞台和生产安装相匹配的Ubuntu VM中运行playbook。

也就是说,为了在容器中运行ansible playbook,您应该编写一个运行playbook的Dockerfile。下面是一个示例DockerFile:

 # Start with the ubuntu image
 FROM ubuntu
 # Update apt cache
 RUN apt-get -y update
 # Install ansible dependencies
 RUN apt-get install -y python-yaml python-jinja2 git
 # Clone ansible repo (could also add the ansible PPA and do an apt-get install instead)
 RUN git clone http://github.com/ansible/ansible.git /tmp/ansible

 # Set variables for ansible
 WORKDIR /tmp/ansible
 ENV PATH /tmp/ansible/bin:/sbin:/usr/sbin:/usr/bin
 ENV ANSIBLE_LIBRARY /tmp/ansible/library
 ENV PYTHONPATH /tmp/ansible/lib:$PYTHON_PATH

 # add playbooks to the image. This might be a git repo instead
 ADD playbooks/ /etc/ansible/
 ADD inventory /etc/ansible/hosts
 WORKDIR /etc/ansible

 # Run ansible using the site.yml playbook 
 RUN ansible-playbook /etc/ansible/site.yml -c local

ansible库存文件如下所示

[local]
localhost
 类似资料:
  • 问题内容: 我正在使用JavaScript测试运行程序“摩卡”。 我的测试失败了,因此我将使用进行调试。 但是运行测试时,没有输出(仅来自Mocha的测试结果)。看来Mocha已捕获并抑制了我的输出! 如何让Mocha显示输出?(对于失败的测试)? 编辑: 抱歉!- 在测试期间可以正常工作!我肯定一直期望它抑制输出,而且我没有正确检查自己的代码。感谢您的回应。所以…话虽如此…也许抑制通过测试的输出

  • 本文向大家介绍Mac上使用Docker如何快速启动MySQL测试,包括了Mac上使用Docker如何快速启动MySQL测试的使用技巧和注意事项,需要的朋友参考一下 本文主要讨论使用Docker快速启动 MySQL 测试的方法,包括Mac环境。一起看看吧! 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的“入门”或“引导”类的文章中能容易地找到成熟的技术,但Docker不然。

  • 问题内容: 我有一个用Rails编写的应用程序。为了对其进行测试,我构建了一个docker映像。一切正常。 但是,当我配置Jenkins运行这些测试时,就会出现问题。在构建步骤中,我要做的是: 其中rspec是在docker-compose.yml上定义的服务,其中包含以下命令: 当rspec返回错误时,构建仍然成功。这里是输出示例: 返回1,构建仍然成功。 如果我通过docker通过其ID检查容

  • 如何使用GoogleChrome的postman插件使用POST将FormData()对象发送到webapi。FormData()对象具有附加到其上的表单字段个人ID和MessageBody。我尝试过这样的东西,但没有用:

  • 我有一个类需要进行单元测试: 我有一个测试用例: 当我运行测试用例时,没有使用ActiveMQConnectionFactory的模拟对象。相反,正在使用实际的实现,并且正在建立TCP连接: 我尝试了Powermockito和Mockito,但都失败了。如何模拟对象,如何成功运行测试用例? 我是单元测试新手,试图从各个社区获得帮助,但没有找到合适的答案。任何帮助都将不胜感激。谢谢

  • 我需要测试操作电缆功能内部dockerated rails应用程序,运行JS测试与恶作剧(PhantomJS)。 我试过硒网驱动,铬驱动,无头铬...没有工作。 当然,将彪马设置为水豚服务器。