pengantar
Pada CI pribadi dan Repositori Kontrol Sumber seperti Gitlab-ce dimungkinkan untuk menyalin ~ / .vault_pass.txt ke server dan membiarkannya digunakan oleh CI untuk mendekripsi file menggunakan Ansible.
Masalah
Pada Repositori CI dan Source Control publik seperti Bitbucket, tidak mungkin untuk menyalin ~ / .vault_pass.txt ke server CI itu sendiri.
Diskusi
Dalam Bitbucket adalah mungkin untuk mendefinisikan variabel dienkripsi, tetapi ketika ini berkas diperiksa variabel terkait hanya VAULT adalah:
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_VAULT_PASSWORD_FILE
Variabel-variabel ini bukan pilihan untuk menyelesaikan masalah seperti ketika ANSIBLE_ASK_VAULT_PASS
set ansible-vault
masih meminta:
user@host $
Vault password:
Ketika kata sandi yang sama dimasukkan, itu dapat membuka file yang dienkripsi, tetapi tujuannya adalah untuk membuka file tanpa perlu file atau memasukkan kata sandi dalam prompt.
Upaya lain untuk menyelesaikan masalah sedang berjalan export ANSIBLE_ASK_VAULT_PASS=<ansible-vault-password>
, tetapi mode interaktif tetap ada.
Pilihan lain adalah export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
, tetapi kemudian file ini perlu didorong ke repositori, tetapi repositori Kontrol sumber tidak boleh mengandung kata sandi.