2016-12-19 1 views
0

На моей машине для разработки все отлично работает. Это просто, что, когда Дженкинс попытку запуска playbooks, которые связаны с сводом зашифрованы файлами, я вижу ошибку:Запуск Непонятные игровые автоматы в Дженкинсе не дешифруют

ERROR! Decryption failed on /data/jenkins/workspace/.../secrets.yml 
FATAL: command execution failed hudson.AbortException: Ansible playbook execution failed 

Команды, которая была выполнена из работы Дженкинс:

/usr/bin/ansible-playbook playbook.yml -i prod/inventory -l localhost -s -f 1 --vault-password-file /etc/ansible/vault_password 

Хранилища файл паролей подтверждается существование в месте со следующими разрешениями:

-rw-r--r--. 1 root root 35 Dec 18 13:23 /etc/ansible/vault_password 

Если я запускаю ту же команду, но запросит пароль (в интерактивном режиме), все работает нормально. Это, однако, не желаемый рабочий процесс: я хотел бы, чтобы Дженкинс запускал эти плейбуки самостоятельно, без взаимодействия с пользователем.

Следует упомянуть, что учебник предназначен для выполнения задач локально, по существу, для подготовки среды для тестирования Maven (создания ожидаемых ресурсов, таких как файлы свойств).

+0

Что такое пользователь, который работает jenkins? –

+0

Это было бы мое имя пользователя на Mac OSX (который преуспевает) и «jenkins» на компьютерах CentOS, где Jenkins запускает playbook. Пользователь «jenkins» находится в sudoers.d. – Jubz

ответ

0

Оказывается, существует огромная разница между созданием файла с контентом и копированием файла с контентом, даже если конечным результатом является файл с тем же контентом.

Поясню: мой инициализации Playbook был создать свой файл паролей, написав пароль в файл на удаленных машинах, например:

copy: content="{{ ansibl_vault_password }}", dest="{{ ansibl_vault_password_file }}" 

Изменение я сделал был для файла паролей быть скопировано с моей машины на удаленных машинах, например:

copy: 
    src: "{{ ansibl_vault_password_file }}" 
    dest: "{{ ansibl_vault_password_file }}" 
    mode: "u=rw,g=r,o=r" 

Таким образом, даже если в великой схеме вещей, которые я в конечном итоге с файлом, содержащим пароль на первой линии, ранее подход хранится не в состоянии расшифровать содержимое тогда как второй подход сработал просто хорошо.

Смежные вопросы