Skip to content

Commit 179f7f2

Browse files
committed
再试一下,我真是服了
1 parent eeffc28 commit 179f7f2

1 file changed

Lines changed: 48 additions & 21 deletions

File tree

.github/workflows/maven.yml

Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,6 @@ jobs:
6060
runs-on: ubuntu-latest
6161
timeout-minutes: 30
6262
needs: [unit-tests, go-client-check]
63-
64-
services:
65-
nacos:
66-
image: nacos/nacos-server:v2.3.1-slim
67-
env:
68-
MODE: standalone
69-
NACOS_AUTH_ENABLE: "false"
70-
JVM_XMS: 256m
71-
JVM_XMX: 256m
72-
JVM_XMN: 128m
73-
ports:
74-
- 8848:8848
75-
- 9848:9848
7663
steps:
7764
- uses: actions/checkout@v4
7865

@@ -105,23 +92,63 @@ jobs:
10592
set -euo pipefail
10693
mvn -B -ntp -DskipTests clean package
10794
95+
- name: Start Nacos Container
96+
run: |
97+
set -euo pipefail
98+
docker rm -f nacos-server >/dev/null 2>&1 || true
99+
docker run -d \
100+
--name nacos-server \
101+
-e MODE=standalone \
102+
-e AUTH_ENABLE=false \
103+
-e NACOS_AUTH_ENABLE=false \
104+
-p 8848:8848 \
105+
-p 9848:9848 \
106+
nacos/nacos-server:v2.3.1-slim
107+
docker ps --filter "name=nacos-server"
108+
108109
- name: Wait For Nacos Ports
109110
run: |
110111
set -euo pipefail
111-
echo "Waiting for Nacos HTTP port on 8848..."
112-
timeout 180s bash -c 'until echo > /dev/tcp/localhost/8848; do sleep 1; done'
113-
echo "Waiting for Nacos gRPC port on 9848..."
114-
timeout 180s bash -c 'until echo > /dev/tcp/localhost/9848; do sleep 1; done'
115-
sleep 8
116-
echo "Nacos 8848/9848 are both reachable."
112+
NACOS_ID="$(docker ps -aqf 'name=^nacos-server$')"
113+
if [[ -z "${NACOS_ID}" ]]; then
114+
echo "Nacos container not found."
115+
docker ps -a
116+
exit 1
117+
fi
118+
echo "Nacos service container id: ${NACOS_ID}"
119+
120+
for i in {1..90}; do
121+
STATUS=$(docker inspect -f '{{.State.Status}}' "${NACOS_ID}")
122+
HEALTH=$(docker inspect -f '{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}' "${NACOS_ID}")
123+
echo "[${i}/90] nacos status=${STATUS}, health=${HEALTH}"
124+
125+
if [[ "${STATUS}" != "running" ]]; then
126+
echo "Nacos container is not running. Dumping logs..."
127+
docker logs "${NACOS_ID}" | tail -n 300 || true
128+
exit 1
129+
fi
130+
131+
if bash -c 'echo > /dev/tcp/localhost/8848' 2>/dev/null \
132+
&& bash -c 'echo > /dev/tcp/localhost/9848' 2>/dev/null; then
133+
echo "Nacos ports 8848/9848 are reachable."
134+
sleep 8
135+
exit 0
136+
fi
137+
138+
sleep 2
139+
done
140+
141+
echo "Timed out waiting for Nacos ports 8848/9848."
142+
docker logs "${NACOS_ID}" | tail -n 300 || true
143+
exit 1
117144
118145
- name: Dump Nacos Service Logs (On Failure)
119146
if: failure()
120147
run: |
121148
set +e
122-
echo "Nacos service container id: ${{ job.services.nacos.id }}"
149+
echo "Nacos service container id: $(docker ps -aqf 'name=^nacos-server$')"
123150
docker ps -a
124-
docker logs "${{ job.services.nacos.id }}" | tail -n 300
151+
docker logs nacos-server | tail -n 300
125152
126153
- name: Start RPC Provider (Java Server)
127154
run: |

0 commit comments

Comments
 (0)