0
ファブリックを使用してリモートマシン上にいくつかのアプリケーションを展開したいと思います。このために、私はファブリックを使ってVCS(bitbucketまたはgithub)からbashスクリプトを取り出して実行します。しかし、私のスクリプトの最初のステップは、現在のユーザーをsudoersに追加することです。そのため、パスワードを要求されます。ファブリックは、sudoのパスワードを尋ねるbashスクリプトを実行します - このパスワードを送る方法
このパスワードをファブファイルまたはfabコマンド内で送信することはできますか。
コードの一部:
bashの代わりに "実行" 機能の
sudo tee /etc/sudoers.d/$USER <<END
END
file=/usr/share/MyCompagny/mybashscript.sh
sudo touch $file
sudo echo 'blablabla' >> $file
sudo /bin/rm /etc/sudoers.d/$USER
sudo -k
fabfile
def deploy():
env.hosts = ['192.168.100.160']
source_folder = '/home/username/src'
branch = 'dev'
puts('Pulling changes from branch <{}>'.format(branch))
projects = ['data', 'report']
for project in projects:
current_path = os.path.join(source_folder, 'package.{}'.format(project))
with cd(current_path):
puts('Current path: {}'.format(current_path))
# Discard all pending changes
run('git checkout -- .')
# Checkout the right branch
run('git checkout {}'.format(branch))
# Pull changes
run('git pull origin_ssh {}'.format(branch))
puts('Install with bash script')
with cd(source_folder):
run('./mybashscript.sh')