Я хочу использовать ткань для развертывания приложения на удаленных компьютерах. Для этого я использую ткань для извлечения сценария bash из VCS (битбакет или github) и выполняет его. Однако первым шагом моего скрипта является добавление текущего пользователя в sudoers, поэтому меня просят ввести пароль.Fabric запускает скрипт bash, который запрашивает пароль sudo - Как отправить этот пароль
Можно ли отправить этот пароль в файл или в команду fab или ...?
Часть кода:
Баш функции вместо функции "выполнения"
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')