如何在ANSIBLE中导入git仓库中托管的模块?

时间:2018-05-10 10:16:04

标签: git deployment ansible

我在一个需要安装C ++ Boost库的剧本中工作。

幸运的是,我找到了一个包含Boost库安装手册的GitHub仓库。

我怎么能导入那个剧本? Ansible中是否有任何语句导入GitHub中托管的模块?

1 个答案:

答案 0 :(得分:1)

你可以使用ansible-pull它基本上拉动并应用你在git存储库中托管的剧本。

来自文档:

/local.yml

对于测试,在存储库的根目录下,您可以拥有名为--- - hosts: localhost tasks: - name: uname command: uname -a register: uname - name: debug uname debug: msg: "{{ uname.stdout }}" 的此剧本:

ansible-pull -U git@github.com:<user>/ansible.git local.yml

然后你可以使用类似的东西来调用它:

require 'action_mailer'

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :authentication => :plain,
    :user_name => "sender@gmail.com",
    :password => "<password>",
    :enable_starttls_auto => true
}


class Emailer < ActionMailer::Base
  def test_email(email_address, email_body)
    mail(to: email_address, from: 'sender@gmail.com', subject: 'action mailer test', body: email_body)
  end
end

Emailer.test_email('recipient@gmail.com', 'This is a test e-mail!').deliver_now

但从长远来看,为了避免依赖于存储库,您可能希望克隆模块/角色并调整您的剧本。