見つけることができるものはすべて設定しましたが、GitHubからレポを複製するとプロビジョニングプロセスがハングします。
私が持っています:
.ssh/config
Host github.com
ForwardAgent yes
StrictHostKeyChecking no
コピーされた秘密鍵
vagrant
ユーザーとして実行されます演劇は:
- name: Checkout from git
git: [email protected]:username/repositoryname.git dest=/srv/website
ティルダの答えを拡張するために、その構成は、プレイブックと一緒にansible.cfgファイルに配置できます。例えば。:
ansible.cfg
[defaults]
transport = ssh
[ssh_connection]
ssh_args = -o ForwardAgent=yes
Envファイルとして設定するよりも、confファイルに配置する方が宣言的であり、プロジェクトに参加するために作業している他の人に必要な手順を最小限に抑えるため、それを行う方が良いと思います。
ドキュメントの確認: http://docs.ansible.com/intro_configuration.html#the-ansible-configuration-file
設定ファイルの例: https://raw.github.com/ansible/ansible/devel/examples/ansible.cfg
私のために働いた答えを共有したい:
https://groups.google.com/forum/#!msg/ansible-project/u6o-sWynMjo/69UwJfJPq7cJ -Ansible Google Groupから
可能な場合は、ssh-addを使用して、最初にホストマシンにsshキーをロードします。次に、転送タイプを有効にして接続タイプとして「ssh」を使用します。
といった:
$ ssh-add $ export ANSIBLE_TRANSPORT="ssh" $ export ANSIBLE_SSH_ARGS="-o ForwardAgent=yes"
エージェントを実行するためのssh-addのマニュアルを参照してください。
ssh-args
のAnsibleドキュメントは http://docs.ansible.com/intro_configuration.html#ssh-args です
これは私のために働く
- name: ensure known hosts
Shell: touch ~/.ssh/known_hosts
- name: remove github.com from known Host
Shell: ssh-keygen -R github.com
# >> instead of > to keep existing known_hosts file
- name: ensure github.com in known Host
Shell: ssh-keyscan -H github.com >> ~/.ssh/known_hosts
私の場合、問題はリポジトリ文字列でした。次のように設定されたbitbucketプライベートリポジトリがありました。
git @ tsrs ...
ただし、次のようになります
ssh:// git @ tsrs ...
接頭辞「ssh」が微妙に欠けていることに注意してください。奇妙な部分は、「ssh」を使用せずにgithubリポジトリを複製すると、正常に機能することです!
Ansible.cfgに次のパラメーターを追加します。
[defaults]
Sudo_flags=-HE
エラーが発生しました:
bitbucket.orgには不明なホストキーがあります。accept_hostkeyをTrueに設定するか、gitモジュールを実行する前にホストキーを手動で追加します
Git moduleコマンドにaccept_hostkey
パラメーターを追加する必要がありました。
プレイブック:
tasks:
- name: clone
git: [email protected]:robusta-code/xyz.git
dest=/app
accept_hostkey=yes
ansible.cfg
[ssh_connection]
ssh_args = -o ForwardAgent=yes