generate.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. git_dir="pki"
  3. branch="100883"
  4. function mail_send {
  5. echo "${message}"|mail -s "Attention! Certificate status!" \
  6. -S smtp=${SMTP_SERVER} \
  7. -S smtp-use-starttls \
  8. -S smtp-auth=login \
  9. -S ssl-verify=ignore \
  10. -S smtp-auth-user=$(cat /run/secrets/jenkins-mail-user) \
  11. -S smtp-auth-password=$(cat /run/secrets/jenkins-mail-pass) \
  12. -S nss-config-dir=/etc/pki/nssdb \
  13. -S from=$(cat /run/secrets/jenkins-mail-user) \
  14. ${RECIPIENT-MAIL-BOX}
  15. }
  16. if [ -d /${git_dir} ]
  17. then
  18. cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
  19. git pull && git checkout ${branch}
  20. else
  21. cd / && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
  22. git clone ${git_url} && cd /${git_dir} && git checkout ${branch}
  23. fi
  24. if [ -z "$*" ]
  25. then
  26. domain=$(echo "$*" | sed 's/ / -d /g')
  27. certbot certonly --dry-run --webroot -w /var/www/html --config-dir /${git_dir}/letsencrypt -d ${domain}
  28. if [ $? -eq 0 ]
  29. then
  30. cd /${git_dir} && GIT_SSH_COMMAND='ssh -i /run/secrets/provision-ssh-key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git push origin ${branch}
  31. message="Certs for domain $(echo $*) is generated"
  32. mail_send
  33. else
  34. message="Certs for domain $(echo $*) isn't generated!!!"
  35. mail_send
  36. fi
  37. fi