当我尝试使用 Ansible 从 Bitbucket 克隆存储库时,任务似乎“挂起”。
在文档中我找到了一些信息,但我没有使用 SSH。
如果任务似乎挂起,首先验证远程主机是否在 known_hosts 中。SSH 将提示用户授权与远程主机的第一次联系。一种解决方案是在 .ssh/config 中添加 StrictHostKeyChecking no ,它将代表用户接受和授权连接。但是,如果您以其他用户身份运行(例如将 sudo 设置为 True),则 root 将不会查看用户 .ssh/config 设置。
这是我尝试过的两本剧本。他们都“挂起”。
剧本#1
- hosts: staging_mysql
user: ec2-user
sudo: yes
vars_files:
- vars/mercurial.yml
tasks:
- name: Mercurial credentials setup
action: template src=templates/hgrc.j2 dest=/home/ec2-user/.hgrc
- name: Install Mercurial
action: yum name=hg
- name: Setup API repository
action: command hg clone https://bbusername@bitbucket.org/username/my-repo -r default --debug
剧本#2
- hosts: staging_mysql
user: ec2-user
sudo: yes
vars_files:
- vars/mercurial.yml
tasks:
- name: Mercurial credentials setup
action: template src=templates/hgrc.j2 dest=/home/ec2-user/.hgrc
- name: Install Mercurial
action: yum name=hg
- name: Clone API repo
hg: dest=/home/ec2-user repo=https://bbusername@bitbucket.org/username/my-repo
欢迎任何帮助。提前致谢!