所以我的項目有一個特殊的基礎設施,服務器只有SSH連接,我必須手動將我的項目代碼每次上傳到服務器使用SSH/SFTP。服務器無法讀取。Ansible playbook:管道本地CMD輸出(例如,git存檔)到服務器?
基本上我需要類似git archive master | ssh [email protected] 'tar -zxvf -'
自動完成使用playbook。
我看着文檔,local_action
似乎工作,但它需要本地的SSH設置。還有其他方法嗎?
所以我的項目有一個特殊的基礎設施,服務器只有SSH連接,我必須手動將我的項目代碼每次上傳到服務器使用SSH/SFTP。服務器無法讀取。Ansible playbook:管道本地CMD輸出(例如,git存檔)到服務器?
基本上我需要類似git archive master | ssh [email protected] 'tar -zxvf -'
自動完成使用playbook。
我看着文檔,local_action
似乎工作,但它需要本地的SSH設置。還有其他方法嗎?
這樣的事情呢。您可能需要調整以適應您的需求。
tasks:
- shell: git archive master /tmp/master.tar.gz
- unarchive: src=/tmp/master.tar.gz dest={{dir_to_untar}}
我還是不明白it requires a local ssh setup
在你的問題。
你是什麼意思由當地的SSH設置? – helloV
@helloV它表示主機必須有ssh。見http://docs.ansible.com/ansible/playbooks_delegation.html – est