在这个例子中,我们要用Ansible Vault加密一个应用程序的机密文件,并在Jenkins管道中使用Ansible将其部署到远程服务器上。
Jenkins服务器
创建一个应用程序特定的文件夹mini ,存放金库加密的秘密文件。
jenkins@server:~$ mkdir -p ~/app-secrets/mini
创建一个秘密文件.env ,同时对其进行加密。
jenkins@server:~$ ansible-vault create ~/app-secrets/mini/.env
确认加密的文件。
jenkins@server:~$ cat ~/app-secrets/mini/.env
Jenkins用户界面
安装 "Ansible "Jenkins插件,然后添加一个新的 "Credential "作为 "秘密文本"。设置值为vault ,ID为AnsibleVault ,然后保存它。
结构
└── cicd
文件
Jenkins文件
pipeline {
hosts.yml
all:
sites.yml
---
结果
Jenkins控制台输出
> Checking out the Git version control ...
暂存服务器
vagrant@staging:~$ ls -la mini/