- 使用 curlimages/curl:latest 镜像,无需安装任何工具 - 简化 JSON 构建,避免 YAML 语法错误 - 所有步骤均使用精简镜像,无需安装环境
This commit is contained in:
+32
-98
@@ -410,61 +410,28 @@ steps:
|
|||||||
# 阶段7: 企业微信通知
|
# 阶段7: 企业微信通知
|
||||||
# ============================================
|
# ============================================
|
||||||
notify-wechat-success:
|
notify-wechat-success:
|
||||||
image: python:3.11-slim
|
image: curlimages/curl:latest
|
||||||
environment:
|
environment:
|
||||||
WECHAT_WEBHOOK:
|
WECHAT_WEBHOOK:
|
||||||
from_secret: wechat_webhook
|
from_secret: wechat_webhook
|
||||||
commands:
|
commands:
|
||||||
- python3 -c "
|
- |
|
||||||
import os
|
BRANCH="${CI_COMMIT_BRANCH:-unknown}"
|
||||||
import json
|
COMMIT="${CI_COMMIT_SHA:0:7}"
|
||||||
import urllib.request
|
MESSAGE=$(echo "${CI_COMMIT_MESSAGE:-no message}" | tr '\n' ' ' | sed 's/"/\\"/g')
|
||||||
from datetime import datetime
|
AUTHOR="${CI_COMMIT_AUTHOR:-unknown}"
|
||||||
|
PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
|
||||||
|
REPO_ID="${CI_REPO_ID:-1}"
|
||||||
|
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
|
||||||
|
|
||||||
branch = os.environ.get('CI_COMMIT_BRANCH', 'unknown')
|
curl -X POST "$WECHAT_WEBHOOK" \
|
||||||
commit = os.environ.get('CI_COMMIT_SHA', 'unknown')[:7]
|
-H 'Content-Type: application/json' \
|
||||||
message = os.environ.get('CI_COMMIT_MESSAGE', 'no message').replace('\n', ' ').replace('\"', \"'\")
|
-d "{
|
||||||
author = os.environ.get('CI_COMMIT_AUTHOR', 'unknown')
|
\"msgtype\": \"markdown\",
|
||||||
pipeline_number = os.environ.get('CI_PIPELINE_NUMBER', '0')
|
\"markdown\": {
|
||||||
repo_id = os.environ.get('CI_REPO_ID', '1')
|
\"content\": \"## 🚀 Novalon Website 部署通知\\n\\n> **构建状态**: <font color=\\\"info\\\">成功</font>\\n\\n**项目信息**\\n> 分支: \`${BRANCH}\`\\n> 提交: \`${COMMIT}\`\\n> 作者: ${AUTHOR}\\n\\n**提交信息**\\n> ${MESSAGE}\\n\\n**操作**\\n> [查看构建详情](https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER})\\n\\n---\\n> 时间: ${TIMESTAMP}\\n> Pipeline #${PIPELINE_NUMBER}\"
|
||||||
pipeline_url = f'https://ci.f.novalon.cn/repos/{repo_id}/pipeline/{pipeline_number}'
|
|
||||||
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
||||||
|
|
||||||
content = f'''## 🚀 Novalon Website 部署通知
|
|
||||||
|
|
||||||
> **构建状态**: <font color=\"info\">成功</font>
|
|
||||||
|
|
||||||
**项目信息**
|
|
||||||
> 分支: \`{branch}\`
|
|
||||||
> 提交: \`{commit}\`
|
|
||||||
> 作者: {author}
|
|
||||||
|
|
||||||
**提交信息**
|
|
||||||
> {message}
|
|
||||||
|
|
||||||
**操作**
|
|
||||||
> [查看构建详情]({pipeline_url})
|
|
||||||
|
|
||||||
---
|
|
||||||
> 时间: {timestamp}
|
|
||||||
> Pipeline #{pipeline_number}'''
|
|
||||||
|
|
||||||
data = {
|
|
||||||
'msgtype': 'markdown',
|
|
||||||
'markdown': {
|
|
||||||
'content': content
|
|
||||||
}
|
}
|
||||||
}
|
}"
|
||||||
|
|
||||||
req = urllib.request.Request(
|
|
||||||
os.environ['WECHAT_WEBHOOK'],
|
|
||||||
data=json.dumps(data).encode('utf-8'),
|
|
||||||
headers={'Content-Type': 'application/json'}
|
|
||||||
)
|
|
||||||
|
|
||||||
with urllib.request.urlopen(req) as response:
|
|
||||||
print(response.read().decode('utf-8'))
|
|
||||||
"
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
@@ -475,61 +442,28 @@ steps:
|
|||||||
- success
|
- success
|
||||||
|
|
||||||
notify-wechat-failure:
|
notify-wechat-failure:
|
||||||
image: python:3.11-slim
|
image: curlimages/curl:latest
|
||||||
environment:
|
environment:
|
||||||
WECHAT_WEBHOOK:
|
WECHAT_WEBHOOK:
|
||||||
from_secret: wechat_webhook
|
from_secret: wechat_webhook
|
||||||
commands:
|
commands:
|
||||||
- python3 -c "
|
- |
|
||||||
import os
|
BRANCH="${CI_COMMIT_BRANCH:-unknown}"
|
||||||
import json
|
COMMIT="${CI_COMMIT_SHA:0:7}"
|
||||||
import urllib.request
|
MESSAGE=$(echo "${CI_COMMIT_MESSAGE:-no message}" | tr '\n' ' ' | sed 's/"/\\"/g')
|
||||||
from datetime import datetime
|
AUTHOR="${CI_COMMIT_AUTHOR:-unknown}"
|
||||||
|
PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
|
||||||
|
REPO_ID="${CI_REPO_ID:-1}"
|
||||||
|
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
|
||||||
|
|
||||||
branch = os.environ.get('CI_COMMIT_BRANCH', 'unknown')
|
curl -X POST "$WECHAT_WEBHOOK" \
|
||||||
commit = os.environ.get('CI_COMMIT_SHA', 'unknown')[:7]
|
-H 'Content-Type: application/json' \
|
||||||
message = os.environ.get('CI_COMMIT_MESSAGE', 'no message').replace('\n', ' ').replace('\"', \"'\")
|
-d "{
|
||||||
author = os.environ.get('CI_COMMIT_AUTHOR', 'unknown')
|
\"msgtype\": \"markdown\",
|
||||||
pipeline_number = os.environ.get('CI_PIPELINE_NUMBER', '0')
|
\"markdown\": {
|
||||||
repo_id = os.environ.get('CI_REPO_ID', '1')
|
\"content\": \"## 🚀 Novalon Website 部署通知\\n\\n> **构建状态**: <font color=\\\"warning\\\">失败</font>\\n\\n**项目信息**\\n> 分支: \`${BRANCH}\`\\n> 提交: \`${COMMIT}\`\\n> 作者: ${AUTHOR}\\n\\n**提交信息**\\n> ${MESSAGE}\\n\\n**操作**\\n> [查看构建详情](https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER})\\n\\n---\\n> 时间: ${TIMESTAMP}\\n> Pipeline #${PIPELINE_NUMBER}\"
|
||||||
pipeline_url = f'https://ci.f.novalon.cn/repos/{repo_id}/pipeline/{pipeline_number}'
|
|
||||||
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
||||||
|
|
||||||
content = f'''## 🚀 Novalon Website 部署通知
|
|
||||||
|
|
||||||
> **构建状态**: <font color=\"warning\">失败</font>
|
|
||||||
|
|
||||||
**项目信息**
|
|
||||||
> 分支: \`{branch}\`
|
|
||||||
> 提交: \`{commit}\`
|
|
||||||
> 作者: {author}
|
|
||||||
|
|
||||||
**提交信息**
|
|
||||||
> {message}
|
|
||||||
|
|
||||||
**操作**
|
|
||||||
> [查看构建详情]({pipeline_url})
|
|
||||||
|
|
||||||
---
|
|
||||||
> 时间: {timestamp}
|
|
||||||
> Pipeline #{pipeline_number}'''
|
|
||||||
|
|
||||||
data = {
|
|
||||||
'msgtype': 'markdown',
|
|
||||||
'markdown': {
|
|
||||||
'content': content
|
|
||||||
}
|
}
|
||||||
}
|
}"
|
||||||
|
|
||||||
req = urllib.request.Request(
|
|
||||||
os.environ['WECHAT_WEBHOOK'],
|
|
||||||
data=json.dumps(data).encode('utf-8'),
|
|
||||||
headers={'Content-Type': 'application/json'}
|
|
||||||
)
|
|
||||||
|
|
||||||
with urllib.request.urlopen(req) as response:
|
|
||||||
print(response.read().decode('utf-8'))
|
|
||||||
"
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|||||||
Reference in New Issue
Block a user