refactor: 通用技能按类别拆分为独立目录
skills/ → skills-dev(9), skills-req(10), skills-ops(4), skills-integration(8), skills-biz(4), skills-workflow(7) generate-marketplace.py 改为自动扫描所有 skills-* 目录。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
46
skills-ops/ops-tools-plugin/jenkins-build.sh
Executable file
46
skills-ops/ops-tools-plugin/jenkins-build.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
# Jenkins 构建触发脚本
|
||||
# 用法: ./jenkins-build.sh [job-name] [env]
|
||||
# 示例: ./jenkins-build.sh ai-proj staging
|
||||
|
||||
set -e
|
||||
|
||||
# 加载凭据
|
||||
source ~/.config/devops/credentials.env
|
||||
|
||||
JOB_NAME="${1:-ai-proj}"
|
||||
DEPLOY_ENV="${2:-staging}"
|
||||
|
||||
echo "触发 Jenkins 构建..."
|
||||
echo "Job: $JOB_NAME"
|
||||
echo "环境: $DEPLOY_ENV"
|
||||
echo ""
|
||||
|
||||
# 触发构建
|
||||
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
|
||||
"$JENKINS_URL/job/$JOB_NAME/buildWithParameters" \
|
||||
-u "$JENKINS_USER:$JENKINS_TOKEN" \
|
||||
--data "DEPLOY_ENV=$DEPLOY_ENV&SKIP_TESTS=false")
|
||||
|
||||
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
|
||||
|
||||
if [ "$HTTP_CODE" = "201" ]; then
|
||||
echo "构建已触发成功!"
|
||||
echo ""
|
||||
echo "查看构建状态: $JENKINS_URL/job/$JOB_NAME/"
|
||||
|
||||
# 等待 2 秒后获取构建号
|
||||
sleep 2
|
||||
BUILD_INFO=$(curl -s "$JENKINS_URL/job/$JOB_NAME/lastBuild/api/json" \
|
||||
-u "$JENKINS_USER:$JENKINS_TOKEN" 2>/dev/null)
|
||||
|
||||
if [ -n "$BUILD_INFO" ]; then
|
||||
BUILD_NUM=$(echo "$BUILD_INFO" | python3 -c "import sys,json; print(json.load(sys.stdin).get('number','N/A'))" 2>/dev/null || echo "N/A")
|
||||
BUILD_STATUS=$(echo "$BUILD_INFO" | python3 -c "import sys,json; d=json.load(sys.stdin); print('进行中' if d.get('building') else d.get('result','未知'))" 2>/dev/null || echo "未知")
|
||||
echo "构建号: #$BUILD_NUM"
|
||||
echo "状态: $BUILD_STATUS"
|
||||
fi
|
||||
else
|
||||
echo "构建触发失败! HTTP 状态码: $HTTP_CODE"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user