在Jenkins管道中使用Ansible来部署用Ansible Vault加密的应用秘密

193 阅读1分钟

在这个例子中,我们要用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/