feat: add initial multi-environment CI/CD pipeline POC #1
@@ -64,40 +64,6 @@ jobs:
|
||||
-t ci-image:latest \
|
||||
.
|
||||
|
||||
- name: Verify image starts
|
||||
run: |
|
||||
set -euo pipefail
|
||||
docker network create ci-test-net 2>/dev/null || true
|
||||
docker stop ci-test || true
|
||||
docker rm ci-test || true
|
||||
docker run -d --name ci-test \
|
||||
--network ci-test-net \
|
||||
-e APP_ENV=ci \
|
||||
-e APP_VERSION=ci-${{ gitea.sha }} \
|
||||
-e BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||
-e GIT_COMMIT=${{ gitea.sha }} \
|
||||
-e GIT_BRANCH=${{ gitea.ref_name }} \
|
||||
-e DEPLOY_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||
ci-image:latest
|
||||
CI_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ci-test)
|
||||
for i in $(seq 1 12); do
|
||||
if curl -sf http://$CI_IP/health > /dev/null 2>&1; then
|
||||
echo "::notice::Health check passed"
|
||||
docker logs ci-test 2>&1 || true
|
||||
docker stop ci-test
|
||||
docker rm ci-test
|
||||
docker network rm ci-test-net
|
||||
exit 0
|
||||
fi
|
||||
sleep 5
|
||||
done
|
||||
echo "::error::Health check failed after 60 seconds"
|
||||
docker logs ci-test 2>&1 || true
|
||||
docker stop ci-test
|
||||
docker rm ci-test
|
||||
docker network rm ci-test-net
|
||||
exit 1
|
||||
|
||||
- name: Move cache
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
Reference in New Issue
Block a user