2022年4月5日 星期二

ansible 以ssh clone bitbucket git repository

以ansible git module 要git clone 一個repository

過去都會以https方式去 直接綁定帳密去clone最為簡單

- name: clone myrepo

  git:

    repo: 'https://{{git_user}}:{{git_password}}@bitbucket.org/myacc/myrepo.git'

    dest: '{{target_path}}'

    version: 'master'

    clone: true

但因為安全性考量bitbucket在2022/3/1後就不支援這樣直接綁帳密方式取得

改用ssh方式取

作業之前需先把要操作的主機的ssh設定到bitbuket的repo設定上

在要操作的主機

1.建立ssh key

  ~/.ssh ssh-keygen

2.複製public key內容

  cat id_rsa.pub

  複製內容

3.到bitbucket repo設定加入access_keys

  bitbuckey/myrepo/access_keys 加入

在ansible host上執行腳本

- name: clone myrepo

  git:

    repo: 'git@bitbucket.org:{{myacc}}/myrepo.git'

    dest: '{{target_path}}'

    version: 'master'

    clone: true

    accept_hostkey: yes

注意這裡多加上了accept_hostkey的設定

沒有留言: