support multiple deploy hook

fix https://github.com/Neilpang/acme.sh/issues/508
This commit is contained in:
neilpang 2017-02-19 20:15:00 +08:00
parent cb6f622957
commit 93bce1b24c

62
acme.sh
View File

@ -3693,7 +3693,7 @@ renew() {
fi fi
if [ "$Le_DeployHook" ]; then if [ "$Le_DeployHook" ]; then
deploy "$Le_Domain" "$Le_DeployHook" "$Le_Keylength" _deploy "$Le_Domain" "$Le_DeployHook"
res="$?" res="$?"
fi fi
@ -3865,45 +3865,32 @@ list() {
} }
deploy() { _deploy() {
Le_Domain="$1" _d="$1"
Le_DeployHook="$2" _hooks="$2"
_isEcc="$3"
if [ -z "$Le_DeployHook" ]; then
_usage "Usage: $PROJECT_ENTRY --deploy -d domain.com --deploy-hook cpanel [--ecc] "
return 1
fi
_initpath "$Le_Domain" "$_isEcc" for _d_api in $(echo "$_hooks" | tr ',' " "); do
if [ ! -d "$DOMAIN_PATH" ]; then _deployApi="$(_findHook "$_d" deploy "$_d_api")"
_err "Domain is not valid:'$Le_Domain'"
return 1
fi
_deployApi="$(_findHook "$Le_Domain" deploy "$Le_DeployHook")"
if [ -z "$_deployApi" ]; then if [ -z "$_deployApi" ]; then
_err "The deploy hook $Le_DeployHook is not found." _err "The deploy hook $_d_api is not found."
return 1 return 1
fi fi
_debug _deployApi "$_deployApi" _debug _deployApi "$_deployApi"
_savedomainconf Le_DeployHook "$Le_DeployHook"
if ! ( if ! (
if ! . "$_deployApi"; then if ! . "$_deployApi"; then
_err "Load file $_deployApi error. Please check your api file and try again." _err "Load file $_deployApi error. Please check your api file and try again."
return 1 return 1
fi fi
d_command="${Le_DeployHook}_deploy" d_command="${_d_api}_deploy"
if ! _exists "$d_command"; then if ! _exists "$d_command"; then
_err "It seems that your api file is not correct, it must have a function named: $d_command" _err "It seems that your api file is not correct, it must have a function named: $d_command"
return 1 return 1
fi fi
if ! $d_command "$Le_Domain" "$CERT_KEY_PATH" "$CERT_PATH" "$CA_CERT_PATH" "$CERT_FULLCHAIN_PATH"; then if ! $d_command "$_d" "$CERT_KEY_PATH" "$CERT_PATH" "$CA_CERT_PATH" "$CERT_FULLCHAIN_PATH"; then
_err "Error deploy for domain:$Le_Domain" _err "Error deploy for domain:$_d"
_on_issue_err
return 1 return 1
fi fi
); then ); then
@ -3912,7 +3899,30 @@ deploy() {
else else
_info "$(__green Success)" _info "$(__green Success)"
fi fi
done
}
#domain hooks
deploy() {
_d="$1"
_hooks="$2"
_isEcc="$3"
if [ -z "$_hooks" ]; then
_usage "Usage: $PROJECT_ENTRY --deploy -d domain.com --deploy-hook cpanel [--ecc] "
return 1
fi
_initpath "$_d" "$_isEcc"
if [ ! -d "$DOMAIN_PATH" ]; then
_err "Domain is not valid:'$_d'"
return 1
fi
. "$DOMAIN_CONF"
_savedomainconf Le_DeployHook "$_hooks"
_deploy "$_d" "$_hooks"
} }
installcert() { installcert() {
@ -5136,7 +5146,11 @@ _process() {
shift shift
;; ;;
--deploy-hook) --deploy-hook)
_deploy_hook="$2" if [ -z "$2" ] || _startswith "$2" "-"; then
_usage "Please specify a value for '--deploy-hook'"
return 1
fi
_deploy_hook="$_deploy_hook$2,"
shift shift
;; ;;
--ocsp-must-staple | --ocsp) --ocsp-must-staple | --ocsp)