Einführung
Auf privaten CIs und Versionsverwaltungs-Repositorys wie Gitlab-ce ist es möglich, eine ~ / .vault_pass.txt auf den Server zu kopieren und vom CI zum Entschlüsseln von Dateien mit Ansible verwenden zu lassen.
Problem
In öffentlichen CIs und Quellcodeverwaltungs-Repositorys wie Bitbucket ist es nicht möglich, eine ~ / .vault_pass.txt selbst auf den CI-Server zu kopieren.
Diskussion
In Bitbucket ist es möglich, verschlüsselte Variablen zu definieren. Wenn diese Datei aktiviert ist, sind die einzigen VAULT-bezogenen Variablen:
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_VAULT_PASSWORD_FILE
Diese Variablen sind keine Option, um das Problem zu lösen, da bei der ANSIBLE_ASK_VAULT_PASS
Einstellung ansible-vault
immer noch folgende Eingabeaufforderungen angezeigt werden:
user@host $
Vault password:
Wenn dasselbe Kennwort eingegeben wird, kann die verschlüsselte Datei geöffnet werden. Ziel ist es jedoch, die Datei zu öffnen, ohne eine Datei zu benötigen oder ein Kennwort in eine Eingabeaufforderung einzugeben.
Ein weiterer Versuch, das Problem zu lösen, wurde ausgeführt export ANSIBLE_ASK_VAULT_PASS=<ansible-vault-password>
, der interaktive Modus bleibt jedoch bestehen.
Eine andere Option ist export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
, dass diese Datei dann in das Repository verschoben werden muss, die Quellcodeverwaltungs-Repositorys jedoch keine Kennwörter enthalten sollten.