小编osk*_*ast的帖子

使用ansible自动使用SSH本地密钥进行git部署

我正在与流浪者和ansible一起工作.我想自动化ansible 的部署角色(你可以在这里查看我的repo).为此,我试图将我的本地ssh密钥部署到我的VPS和我的流浪客户机(我正在尝试SSH代理转发).

目标

使用ansible自动使用git进行部署过程.我已经这样做了:

---

- name: read-write git checkout from github
  git: repo={{ repository }} dest=/home/site
Run Code Online (Sandbox Code Playgroud)

哪里:

---
# Variables here are applicable to all host groups

repository: git@bitbucket.org:dgnest/dgnest.git
Run Code Online (Sandbox Code Playgroud)

问题

当我做:"流浪汉提供",控制台停在这里:

TASK: [deployment | read-write git checkout from github] ********************** 
Run Code Online (Sandbox Code Playgroud)

那是因为我没有设置ssh密钥.

我试过了

我想使用ansible的git模块具有的key_file选项.但它也失败了.

---                                                                             

- name: read-write git checkout from github                                     
  git: repo={{ repository }} dest=/home/site key_file=/home/oscar/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

另一个选择是将我的〜/ ssh/id_rsa.pub复制到每个VPS和vagrant中,但在这种情况下我的问题是处理所有不同的用户.Vagrant使用"vagrant"用户,而我的VPS使用其他用户,所以我不得不将ssh本地密钥放入这些用户中?

希望您能够帮助我.谢谢.

更新:

我刚刚自动化@leucos答案(谢谢).复制私有和公共rsa密钥.我与实现分享此链接.

git deployment ssh-keys vagrant ansible

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

隐藏aplay shell命令的输出

有没有一种方法来隐藏输出的的aplay命令播放声音时?

我没试这么成功

$ aplay ~/.zsh/sounds/done.wav >> /dev/null

Playing WAVE '/home/oscar/.zsh/sounds/done.wav' : Unsigned 8 bit, Rate 11025 Hz, Mono
Run Code Online (Sandbox Code Playgroud)

我将感激你的帮助.

linux bash shell zsh

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

将RVM与virtualenv一起使用时,"警告!PATH未正确设置"

我收到此错误:

Warning! PATH is not properly set up, '/home/oscar/.rvm/gems/ruby-2.1.2/bin' is not at first place,
     usually this is caused by shell initialization files - check them for 'PATH=...' entries,
     it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
     to fix temporarily in this shell session run: 'rvm use ruby-2.1.2'.
rvm 1.25.28 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Run Code Online (Sandbox Code Playgroud)

当我进入任何virtualenv.它首先需要virtualenv的道路.在这个例子中,我打电话给我的virtualenv borrar,所以这是我的路径:

/home/oscar/projects/borrar/bin:/home/oscar/.rvm/gems/ruby-2.1.2/bin:/home/oscar/.rvm/gems/ruby-2.1.2@global/bin:/home/oscar/.rvm/rubies/ruby-2.1.2/bin:/home/oscar/eagle-6.6.0/bin:/home/oscar/android-studio/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/oscar/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-7-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
Run Code Online (Sandbox Code Playgroud)

我认为我的路径在任何virtualenv之外是正确的,因为rvm位于第一位.

/home/oscar/.rvm/gems/ruby-2.1.2/bin:/home/oscar/.rvm/gems/ruby-2.1.2@global/bin:/home/oscar/.rvm/rubies/ruby-2.1.2/bin:/home/oscar/eagle-6.6.0/bin:/home/oscar/android-studio/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-7-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/oscar/.rvm/bin
Run Code Online (Sandbox Code Playgroud)

这是我的.zshrc 这里我.zsh_profile,我在最后加载RVM.

我感谢你的帮助.

ruby virtualenv rvm

4
推荐指数
1
解决办法
1672
查看次数

标签 统计

ansible ×1

bash ×1

deployment ×1

git ×1

linux ×1

ruby ×1

rvm ×1

shell ×1

ssh-keys ×1

vagrant ×1

virtualenv ×1

zsh ×1