บทนำ
บน CI ส่วนตัวและที่เก็บข้อมูลการควบคุมแหล่งเช่น Gitlab-ce คุณสามารถคัดลอก ~ / .vault_pass.txt ไปยังเซิร์ฟเวอร์และปล่อยให้ CI ใช้ถอดรหัสไฟล์โดยใช้ Ansible
ปัญหา
ในที่สาธารณะ CI และแหล่งที่มาการควบคุมแหล่งที่มาเช่น Bitbucket ไม่สามารถคัดลอก ~ / .vault_pass.txt ไปยังเซิร์ฟเวอร์ CI ได้ด้วยตนเอง
อภิปรายผล
ใน Bitbucket เป็นไปได้ที่จะกำหนดตัวแปรที่เข้ารหัส แต่เมื่อไฟล์นี้ถูกตรวจสอบตัวแปรที่เกี่ยวข้องกับ VAULT เท่านั้น:
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_VAULT_PASSWORD_FILE
ตัวแปรเหล่านี้ไม่ใช่ตัวเลือกในการแก้ไขปัญหาเมื่อANSIBLE_ASK_VAULT_PASS
ตั้งค่าansible-vault
พร้อมท์:
user@host $
Vault password:
เมื่อป้อนรหัสผ่านเดียวกันก็สามารถเปิดไฟล์ที่เข้ารหัสได้ แต่เป้าหมายคือการเปิดไฟล์โดยไม่จำเป็นต้องใช้ไฟล์หรือป้อนรหัสผ่านในพร้อมต์
ความพยายามในการแก้ไขปัญหาอื่นกำลังทำงานอยู่export ANSIBLE_ASK_VAULT_PASS=<ansible-vault-password>
แต่โหมดโต้ตอบยังคงมีอยู่
อีกตัวเลือกหนึ่งคือexport ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
แต่ต้องส่งไฟล์นี้ไปยังที่เก็บ แต่ที่เก็บควบคุมแหล่งที่มาไม่ควรมีรหัสผ่าน