chore: deep probe new runner deployment
Probe New Runner Deployment / Probe 3 (push) Successful in 0s
Probe New Runner Deployment / Probe 4 (push) Successful in 0s
Probe New Runner Deployment / Probe 6 (push) Successful in 0s
Probe New Runner Deployment / Probe 2 (push) Successful in 0s
Probe New Runner Deployment / Probe 8 (push) Successful in 0s
Probe New Runner Deployment / Probe 9 (push) Successful in 1s
Probe New Runner Deployment / Probe 5 (push) Successful in 0s
Probe New Runner Deployment / Probe 10 (push) Successful in 0s
Probe New Runner Deployment / Probe 7 (push) Successful in 1s
Probe New Runner Deployment / Deep probe runner deployment (push) Successful in 43s
Probe New Runner Deployment / Probe 3 (push) Successful in 0s
Probe New Runner Deployment / Probe 4 (push) Successful in 0s
Probe New Runner Deployment / Probe 6 (push) Successful in 0s
Probe New Runner Deployment / Probe 2 (push) Successful in 0s
Probe New Runner Deployment / Probe 8 (push) Successful in 0s
Probe New Runner Deployment / Probe 9 (push) Successful in 1s
Probe New Runner Deployment / Probe 5 (push) Successful in 0s
Probe New Runner Deployment / Probe 10 (push) Successful in 0s
Probe New Runner Deployment / Probe 7 (push) Successful in 1s
Probe New Runner Deployment / Deep probe runner deployment (push) Successful in 43s
This commit is contained in:
@@ -1,179 +1,128 @@
|
||||
name: Set Runner Labels
|
||||
name: Probe New Runner Deployment
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ops/runner-labels]
|
||||
|
||||
jobs:
|
||||
set-labels-1:
|
||||
name: Set Runner Labels 1
|
||||
probe-deep:
|
||||
name: Deep probe runner deployment
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 8
|
||||
steps:
|
||||
- name: Add labels to runner on this host
|
||||
- name: Find all runner processes and configs
|
||||
shell: bash
|
||||
run: |
|
||||
set -eu
|
||||
set +e
|
||||
|
||||
echo "=== 1. 读取宿主机信息和Runner配置 ==="
|
||||
HOSTNAME=$(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname 2>/dev/null)
|
||||
echo "宿主机: $HOSTNAME"
|
||||
|
||||
echo "=== 2. 读取 .runner 配置 ==="
|
||||
docker run --rm --privileged --pid=host -v /opt/act-runner:/runner-data alpine:3.20 sh -c "cat /runner-data/.runner" 2>/dev/null || echo "读取失败"
|
||||
echo "=== 宿主机名 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 读取 config.yaml ==="
|
||||
docker run --rm --privileged --pid=host -v /opt/act-runner:/runner-data alpine:3.20 sh -c "cat /runner-data/config.yaml" 2>/dev/null || echo "读取失败"
|
||||
echo "=== 所有进程(找runner相关)==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -i -E "runner|act" | grep -v grep
|
||||
|
||||
echo ""
|
||||
echo "=== 4. 判断服务器类型 ==="
|
||||
case "$HOSTNAME" in
|
||||
*iZbp15fchyez91r4b3ok74Z*)
|
||||
LABEL="ci-check"
|
||||
echo "新CI服务器,添加标签: $LABEL"
|
||||
;;
|
||||
*iZbp1e4dekh1wm0sc67b64Z*)
|
||||
LABEL="build-only"
|
||||
echo "Gitea/旧构建服务器,添加标签: $LABEL"
|
||||
;;
|
||||
*iZbp1eaisk28u15hh6z9ggZ*)
|
||||
LABEL="build-only"
|
||||
echo "runtime-builder服务器,添加标签: $LABEL"
|
||||
;;
|
||||
*)
|
||||
LABEL=""
|
||||
echo "未知服务器: $HOSTNAME,跳过"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -z "$LABEL" ]; then
|
||||
echo "跳过:未知服务器"
|
||||
exit 0
|
||||
fi
|
||||
echo "=== 所有systemd服务(找runner相关)==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-units --type=service --all | grep -i -E "runner|act|gitea"
|
||||
|
||||
echo ""
|
||||
echo "=== 5. 检查是否已有 $LABEL 标签 ==="
|
||||
HAS_LABEL=$(docker run --rm --privileged --pid=host -v /opt/act-runner:/runner-data alpine:3.20 sh -c "grep -c '$LABEL' /runner-data/.runner" 2>/dev/null || echo "0")
|
||||
echo "已有标签匹配数: $HAS_LABEL"
|
||||
|
||||
if [ "$HAS_LABEL" -gt 0 ]; then
|
||||
echo "已有 $LABEL 标签,无需修改"
|
||||
exit 0
|
||||
fi
|
||||
echo "=== /opt 目录 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -la /opt/
|
||||
|
||||
echo ""
|
||||
echo "=== 6. 修改 .runner 添加 $LABEL 标签 ==="
|
||||
# .runner 是 YAML 格式,labels 是一个列表
|
||||
# 在最后一个 label 后面插入新 label
|
||||
docker run --rm --privileged --pid=host -v /opt/act-runner:/runner-data alpine:3.20 sh -c "
|
||||
cd /runner-data
|
||||
cp .runner .runner.bak
|
||||
# 使用awk在labels段的最后一个 - 项后面添加新标签
|
||||
awk '
|
||||
/^labels:/ { in_labels=1; print; next }
|
||||
in_labels && /^ - / { last_label=1; print; next }
|
||||
in_labels && last_label && !/^ - / {
|
||||
print \" - \" label
|
||||
in_labels=0
|
||||
last_label=0
|
||||
print
|
||||
next
|
||||
}
|
||||
{ print }
|
||||
END {
|
||||
if (in_labels && last_label) {
|
||||
print \" - \" label
|
||||
}
|
||||
}
|
||||
' label=\"$LABEL\" .runner > .runner.new
|
||||
mv .runner.new .runner
|
||||
echo '修改后:'
|
||||
cat .runner
|
||||
"
|
||||
echo "=== 全局找 .runner 文件 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name ".runner" -type f 2>/dev/null | head -20
|
||||
|
||||
echo ""
|
||||
echo "=== 7. 重启 act-runner 服务 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl restart act-runner.service
|
||||
echo "服务已重启"
|
||||
|
||||
sleep 3
|
||||
echo ""
|
||||
echo "=== 8. 验证服务状态 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl status act-runner.service --no-pager | head -10
|
||||
echo "=== 全局找 gitea-runner 或 act_runner 二进制 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name "gitea-runner" -o -name "act_runner" -o -name "runner" -type f -executable 2>/dev/null | head -20
|
||||
|
||||
echo ""
|
||||
echo "=== 完成 ==="
|
||||
echo "=== docker ps 全量 ==="
|
||||
docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" | head -30
|
||||
|
||||
echo ""
|
||||
echo "=== docker compose 相关 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name "docker-compose.yml" -o -name "compose.yml" 2>/dev/null | grep -i -E "runner|act" | head -10
|
||||
|
||||
echo ""
|
||||
echo "=== /root 目录 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -la /root/ 2>/dev/null
|
||||
|
||||
echo ""
|
||||
echo "=== 找所有runner配置目录 ==="
|
||||
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -maxdepth 3 -name "*runner*" -type d 2>/dev/null | head -20
|
||||
|
||||
set-labels-2:
|
||||
name: Set Runner Labels 2
|
||||
probe-2:
|
||||
name: Probe 2
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder job for runner coverage"
|
||||
set-labels-3:
|
||||
name: Set Runner Labels 3
|
||||
run: echo "placeholder for coverage"
|
||||
probe-3:
|
||||
name: Probe 3
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-4:
|
||||
name: Set Runner Labels 4
|
||||
probe-4:
|
||||
name: Probe 4
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-5:
|
||||
name: Set Runner Labels 5
|
||||
probe-5:
|
||||
name: Probe 5
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-6:
|
||||
name: Set Runner Labels 6
|
||||
probe-6:
|
||||
name: Probe 6
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-7:
|
||||
name: Set Runner Labels 7
|
||||
probe-7:
|
||||
name: Probe 7
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-8:
|
||||
name: Set Runner Labels 8
|
||||
probe-8:
|
||||
name: Probe 8
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-9:
|
||||
name: Set Runner Labels 9
|
||||
probe-9:
|
||||
name: Probe 9
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
set-labels-10:
|
||||
name: Set Runner Labels 10
|
||||
probe-10:
|
||||
name: Probe 10
|
||||
runs-on: saas
|
||||
timeout-minutes: 10
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- name: Add labels
|
||||
- name: probe
|
||||
shell: bash
|
||||
run: echo "placeholder"
|
||||
|
||||
Reference in New Issue
Block a user