小编jsc*_*ank的帖子

如何在ansible git模块中使用远程机器的SSH密钥

我一直在努力让Ansible配置远程机器,我希望远程机器能够设置自己的密钥,并且能够从Bitbucket克隆git存储库.

用户已设置,有自己的id_rsa.pub,并且密钥已在bitbucket中注册.

但是,当我使用Ansible Git模块时,看起来模块总是试图使用运行playbook的机器上的键.

如何让git模块使用远程机器上的id_rsa.pub?

相关的任务是这样的:

- name: be sure prom-king has an up-to-date clone of its own repository
  git:
    repo: "ssh://ddcrnd@bitbucket.org/prom-king.git"
    dest: /home/promking/prom-king
    accept_hostkey: yes
    clone: yes
    key_file: /home/promking/.ssh/id_rsa.pub
    update: yes
Run Code Online (Sandbox Code Playgroud)

相关的库存就是这个

# inventory file for use with the vagrant box in the testing directory.
[prom-king]
192.168.168.192 ansible_ssh_host=127.0.0.1 ansible_sudo=true ansible_connection=ssh  ansible_ssh_port=2222 ansible_ssh_user=vagrant ansible_ssh_private_key_file=testing/.vagrant/machines/default/virtualbox/private_key
Run Code Online (Sandbox Code Playgroud)

git ssh ssh-keys ansible ansible-playbook

17
推荐指数
2
解决办法
2万
查看次数

具有持久数据的Ruby Gems

我想创建ruby应用程序(而不是rails).这是一个控制台应用程序,需要保留一些数据.我正在使用pstore作为数据库.我想将此应用程序部署为gem.

我的问题是:我的数据在哪里?

目前我已经创建了一个数据目录作为标准gem布局中bin目录的兄弟.因此,我希望gem在部署之后将其数据存储在"内部"中.但是当我进行本地gem安装测试时,我发现数据存储在本地存储到项目文件中,而不是存储在gems目录中的某个位置.

当然,我可能只是误解了"rake install_gem"正在做什么.另外,我模糊地担心,如果我需要sudo来安装gem,它实际上可以在gem目录中"内部"创建数据文件.

有人可以澄清这一点吗?

谢谢.John Schank

@makevoid - 谢谢你的回复.这是我的主要脚本的全部内容.在/ bin目录中...(我将它添加到主要问题中,因为我不熟悉如何在注释中格式化内容 - 并且粘贴的代码看起来很糟糕.

#!/usr/bin/env ruby

$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'

require 'timesheet'

begin
  command_hash = TimesheetParser.parse
  store = YAML::Store.new("data/time_entries.yaml")
  tl = TimeLog.new(store)
  ts = Timesheet.new(tl)
  ts.process(command_hash)
rescue Exception => e
  raise if command_hash[:debug]
  puts e.message
Run Code Online (Sandbox Code Playgroud)

ruby linux gem file

5
推荐指数
1
解决办法
1341
查看次数

Resharper - NUnit - VS2010:内存不足异常

当我在resharper中使用测试运行器运行我的nunit测试时,我得到一个OutOfMemory异常.

在我看来,当测试套件运行时,它会在套件的持续时间内消耗内存,并且只有在整个测试集完成后才会释放内存.因此,即使我从多个程序集中运行一组测试,它们的集体内存占用也会被消耗掉,并且只会在最后发布.

有没有办法让测试运行器更频繁地释放内存?我们谈论的是755项似乎并不过分的测试.我认为这个问题与使用Rhino.mocks以及在此测试集合中创建的所有模拟存储库分配有关.

注意:使用Resharper 5.1,Rhino.Mocks,VS2010和NUnit 2.4.8

谢谢John Schank

resharper visual-studio-2010 test-runner

5
推荐指数
1
解决办法
1042
查看次数

迭代哈希,数组为关键

假设我有以下代码:

#!/usr/bin/env ruby -wKU

h = {}
h[[1, "a"]] = "first"
h[[2, "b"]] = "second"

puts h.to_yaml

# case 1 - works fine
h.each do |k, v|
  num, char = k
  puts "key = #{[num, char]}; value = #{v}"
end

# case 2 - works fine
h.each_key do | num, char |
  puts "key = #{[num, char]}; value = #{h[[num, char]]}"
end

# case 3 - Doesn't work
# how can I get all three values in one go?
h.each …
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何防止ansible模板被收到的内容混淆?

我使用ansible来提供wordpress安装,为此我有一个wp-config.php的模板.

我的wp-config.php.j2模板替换了键和盐,它看起来像这样

{{ wordpress_keys.content }}
Run Code Online (Sandbox Code Playgroud)

wordpress_keys来自一个任务,如下所示:

- name: retrieve new wordpress keys and salts
  uri:
    url: "https://api.wordpress.org/secret-key/1.1/salt/"
    method: GET
    return_content: yes
  register: wordpress_keys
Run Code Online (Sandbox Code Playgroud)

问题是,有时键和盐在其中有"特殊"字符,如<>,{}等,这似乎导致ansible产生如下错误:

致命:[ddc-wpchange2.ddc.prod] => {'msg':"AnsibleError:模板定义失败('AUTH_KEY',
'1 = MFI*+!d ^ 1/y;} za6 $ Qf w4vo {bv !gV?lmX?^ P h/5L?szDv&V <~in + .~ ^ oOdCFpyt] Tu8FSmGE} @ ||,Pe(:( 1%CjjAwhq {Gi#j-'); \ndefine('LOGGED_IN_KEY',
' BJ6c9#/ XDBVDB-8Q + ctK9DLZiKUzPYbM&aMlO!.v7COPb8 = [9HdU&Y7%SzE {&xh'); \ndefine('NONCE_KEY','.x B:3|/#|^2*JMh6+t$Ek:DG+wEqyO4:QZmMo}g|MeZi~LrvNpJ-z(8/S ,P.,N');\ndefine('AUTH_SALT', '-pzZ6 l40^8++a@t_sldj_CK {{V%] u-#cK44dAig%v <'); \ndefine( 'SECURE_AUTH_SALT','?ONdE { - {6CQT_Jrn0N4xHhI |} Rz2y1cc9Cj22XO
kITU |)BJm@BgPd5.lPW-?e;'); \ndefine('LOGGED_IN_SALT','O_Q7} Q.fx,Gt#0m30 - …

python wordpress jinja2 ansible

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