Procházet zdrojové kódy

Переработал скрипт, добавил отправку почты

OBT-SYSADM\tomishinets před 6 roky
rodič
revize
7958858683
3 změnil soubory, kde provedl 43 přidání a 23 odebrání
  1. 2 0
      Dockerfile
  2. 41 0
      generate.sh
  3. 0 23
      operation.sh

+ 2 - 0
Dockerfile

@@ -1,5 +1,6 @@
 FROM centos:7.4.1708
 COPY nginx.repo /etc/yum.repos.d/nginx.repo
+COPY generate.sh /tmp
 
 RUN yum install -y epel-release \
     && yum install yum-utils python2-certbot-nginx openssl ca-certificates nginx -y \
@@ -15,5 +16,6 @@ RUN yum install -y epel-release \
 
 COPY default.conf /etc/nginx/conf.d/
 
+
 EXPOSE 80
 CMD ["nginx", "-g", "daemon off;"]

+ 41 - 0
generate.sh

@@ -0,0 +1,41 @@
+#!/bin/bash
+
+git_dir="pki"
+branch="100883"
+
+function mail_send {
+              echo "${message}"|mail -s "Attention! Certificate status!" \
+              -S smtp=${SMTP_SERVER} \
+              -S smtp-use-starttls \
+              -S smtp-auth=login \
+              -S ssl-verify=ignore \
+              -S smtp-auth-user=$(cat /run/secrets/jenkins-mail-user) \
+              -S smtp-auth-password=$(cat /run/secrets/jenkins-mail-pass) \
+              -S nss-config-dir=/etc/pki/nssdb \
+              -S from=$(cat /run/secrets/jenkins-mail-user) \
+              ${RECIPIENT-MAIL-BOX}
+}
+
+if [ -d /${git_dir} ]
+then
+  cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
+  git pull && git checkout ${branch}
+else
+  cd / && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
+  git clone ${git_url} && cd /${git_dir} && git checkout ${branch}
+fi
+
+if [ -z "$*" ]
+then
+  domain=$(echo "$*" | sed 's/ / -d /g')
+  certbot certonly --dry-run --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -d ${domain}
+  if [ $? -eq 0 ]
+  then
+    cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git push origin ${branch}
+    message="Certs for domain $(echo $*) is generated"
+    mail_send
+  else
+    message="Certs for domain $(echo $*) isn't generated!!!"
+    mail_send
+  fi
+fi

+ 0 - 23
operation.sh

@@ -1,23 +0,0 @@
-#!/bin/bash
-JENKINS_MAIL="jenkins@sdsys.ru"
-git_dir="pki"
-branch="100883"
-
-
-if [ -d /${git_dir} ]
-then
-  cd /${git_dir} && git checkout ${branch} && git pull
-else
-  cd / && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git clone ${git_url}
-  cd /${git_dir} && git checkout ${branch}
-fi
-
-if [ -z $domain ]
-then
-  domain=$(echo ${domain} | sed 's/ / -d /g')
-  certbot certonly --dry-run --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -d ${domain}
-  if [ $? -eq 0 ]
-  then
-    cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git push origin ${branch}
-  fi
-fi