ansibe-playbook+jenkins实现自动增加带证书的域名配置文件

playbook代码

#判断域名目录是否存在
- name: judge a domains-file is exist
shell: ls /export/servers/nginx/conf/domains/user-defined-domains
ignore_errors: True
register: result
tags: add_udd

#创建用户自定义域名目录
- name: mkdir Domains_Dir
file: dest=/export/servers/nginx/conf/domains/user-defined-domains state=directory
when: result|failed
tags: add_udd
#判断日志目录是否存在
- name: judge a Logs-dir is exist
shell: ls /export/Logs/nginx/oss/user-defined-domains
ignore_errors: True
register: Logs
tags: add_udd

#创建用户自定义域名日志目录
- name: mkdir Logs_DIR
file: dest=/export/Logs/nginx/oss/user-defined-domains state=directory
when: Logs|failed
tags: add_udd

#生成域名配置文件
- name: add user-defined-domains
template: src=user-defined-domains/add.user-defined-domains dest=/export/servers/nginx/conf/domains/user-defined-domains/{{ Domains }}
tags: add_udd
#创建证书目录
- name: mkdir Certificate_Dir
file: dest=/export/servers/nginx/conf/user_certificate state=directory
tags: add_udd

#拷贝证书文件
- name: add certificate_name
copy: src=user_certificate/{{ certificate_name }} dest=/export/servers/nginx/conf/user_certificate/
when: certificate_name is defined
tags: add_udd

- name: add certificate_key
copy: src=user_certificate/{{ certificate_key }} dest=/export/servers/nginx/conf/user_certificate/
when: certificate_key is defined
tags: add_udd
#判断文件内容是否包含user-defined-domains
- name: judge a include is exist
shell: cat /export/servers/nginx/conf/nginx.conf | grep user-defined-domains
ignore_errors: True
register: Include
tags: add_udd
#添加include 域名
- name: Modify nginx.conf,add in
lineinfile: dest=/export/servers/nginx/conf/nginx.conf state=present line=’ include domains/user-defined-domains/;’ regexp="^PermitEmptyPasswords" insertafter="\s.*upstream;"
when: Include|failed
tags: add_udd
#reload
- name: reload–nginx
raw: /export/servers/nginx/sbin/nginx -c /export/servers/nginx/conf/nginx.conf -p /export/servers/nginx -s reload
tags: add_udd


jenkins配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

jenkins build 完成代码

#!/bin/bash
set -x
DIR="/export/yangfan/cloud-storage-playbooks"

echo "--------------------输出IP_LIST---------"
echo $IP_LIST

echo "--------------------输出IDC-------------"
echo "$IDC"

#格式化IP_LIST
if [[ $IP_LIST =~ "," || $IP_LIST =~ ";" || $IP_LIST =~ ":" ]];then IP=$(echo $IP_LIST | sed -r 's/,/ /g' | sed -r 's/;/ /g' | sed -r 's/:/ /g'); else IP=$IP_LIST ;fi

echo "--------------------打印IP---------------"
echo ${IP}

echo "-----------------生成随机数HOST------------"
HOST=host_$(date +%s)

echo [run_initialize] >${DIR}/${HOST}

echo ${IP} | sed 's/[ ]\+/\n/g' >>${DIR}/${HOST}

echo [run_initialize:vars] >>${DIR}/${HOST}

echo Domains=${DOMAINS} >>${DIR}/${HOST}

echo certificate_name=${Cerertificate_name} >>${DIR}/${HOST}

echo certificate_key=${Cerertificate_key} >>${DIR}/${HOST}

cd $DIR
ansible-playbook -i ${HOST} initialize.yml --tags=add_udd -f 100

jenkins job

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值