部署脚本现在会在部署成功/失败后自动调用 /api/report 上报日志。同步到服务器后,需要重新下载安装脚本(因为部署脚本模板变了),再执行一次。
This commit is contained in:
@@ -36,15 +36,17 @@ Copy-Item "$CertDir\private.key" "$CertDir\private.key.bak" -ErrorAction Sil
|
|||||||
Move-Item "$TmpDir\fullchain.pem" "$CertDir\fullchain.pem" -Force
|
Move-Item "$TmpDir\fullchain.pem" "$CertDir\fullchain.pem" -Force
|
||||||
Move-Item "$TmpDir\private.key" "$CertDir\private.key" -Force
|
Move-Item "$TmpDir\private.key" "$CertDir\private.key" -Force
|
||||||
|
|
||||||
# 5. 校验 & 重载
|
# 5. 校验 & 重载 & 上报
|
||||||
try {
|
try {
|
||||||
Invoke-Expression $CheckCmd
|
Invoke-Expression $CheckCmd
|
||||||
$remote | Out-File -NoNewline -Encoding ascii $VersionFile
|
$remote | Out-File -NoNewline -Encoding ascii $VersionFile
|
||||||
Invoke-Expression $ReloadCmd
|
Invoke-Expression $ReloadCmd
|
||||||
Write-Host "[$(Get-Date -Format o)] updated: $Domain -> $remote"
|
Write-Host "[$(Get-Date -Format o)] updated: $Domain -> $remote"
|
||||||
|
try { Invoke-WebRequest -Uri "$BaseUrl/api/report?domain=$EncodedDomain&status=success&message=deployed+v$remote" -Headers $headers -Method POST -UseBasicParsing -SkipCertificateCheck | Out-Null } catch {}
|
||||||
} catch {
|
} catch {
|
||||||
Move-Item "$CertDir\fullchain.pem.bak" "$CertDir\fullchain.pem" -Force -ErrorAction SilentlyContinue
|
Move-Item "$CertDir\fullchain.pem.bak" "$CertDir\fullchain.pem" -Force -ErrorAction SilentlyContinue
|
||||||
Move-Item "$CertDir\private.key.bak" "$CertDir\private.key" -Force -ErrorAction SilentlyContinue
|
Move-Item "$CertDir\private.key.bak" "$CertDir\private.key" -Force -ErrorAction SilentlyContinue
|
||||||
Write-Error "[$(Get-Date -Format o)] FAILED: $Domain, rolled back"
|
Write-Error "[$(Get-Date -Format o)] FAILED: $Domain, rolled back"
|
||||||
|
try { Invoke-WebRequest -Uri "$BaseUrl/api/report?domain=$EncodedDomain&status=failed&message=check+failed+rolled+back" -Headers $headers -Method POST -UseBasicParsing -SkipCertificateCheck | Out-Null } catch {}
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,14 +41,16 @@ cp -f "${CERT_DIR}/private.key" "${CERT_DIR}/private.key.bak" 2>/dev/null || t
|
|||||||
mv -f "${TMP_DIR}/fullchain.pem" "${CERT_DIR}/fullchain.pem"
|
mv -f "${TMP_DIR}/fullchain.pem" "${CERT_DIR}/fullchain.pem"
|
||||||
mv -f "${TMP_DIR}/private.key" "${CERT_DIR}/private.key"
|
mv -f "${TMP_DIR}/private.key" "${CERT_DIR}/private.key"
|
||||||
|
|
||||||
# 5. 校验 & 重载
|
# 5. 校验 & 重载 & 上报
|
||||||
if ${CHECK_CMD}; then
|
if ${CHECK_CMD}; then
|
||||||
echo "${REMOTE}" > "${VERSION_FILE}"
|
echo "${REMOTE}" > "${VERSION_FILE}"
|
||||||
${RELOAD_CMD}
|
${RELOAD_CMD}
|
||||||
echo "[$(date -Is)] updated: ${DOMAIN} -> ${REMOTE}"
|
echo "[$(date -Is)] updated: ${DOMAIN} -> ${REMOTE}"
|
||||||
|
curl "${curl_opts[@]}" "${auth[@]}" -X POST "${BASE_URL}/api/report?domain=${DOMAIN}&status=success&message=deployed+v${REMOTE}" 2>/dev/null || true
|
||||||
else
|
else
|
||||||
mv -f "${CERT_DIR}/fullchain.pem.bak" "${CERT_DIR}/fullchain.pem" 2>/dev/null || true
|
mv -f "${CERT_DIR}/fullchain.pem.bak" "${CERT_DIR}/fullchain.pem" 2>/dev/null || true
|
||||||
mv -f "${CERT_DIR}/private.key.bak" "${CERT_DIR}/private.key" 2>/dev/null || true
|
mv -f "${CERT_DIR}/private.key.bak" "${CERT_DIR}/private.key" 2>/dev/null || true
|
||||||
echo "[$(date -Is)] FAILED: ${DOMAIN}, rolled back" >&2
|
echo "[$(date -Is)] FAILED: ${DOMAIN}, rolled back" >&2
|
||||||
|
curl "${curl_opts[@]}" "${auth[@]}" -X POST "${BASE_URL}/api/report?domain=${DOMAIN}&status=failed&message=check+failed+rolled+back" 2>/dev/null || true
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user