diff --git a/.drone.yml b/.drone.yml index b2b2f55..7d7ee5a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,7 +3,6 @@ kind: pipeline type: docker name: default -# ARM64 platform (for your Pi runner) platform: os: linux arch: arm64 @@ -12,7 +11,6 @@ workspace: path: /drone/src steps: - # Step 1a: Git fetch tags locally - name: fetch-tags image: docker:24 environment: @@ -26,7 +24,6 @@ steps: # Save to file to share with next step echo $LATEST_TAG > /drone/src/LATEST_TAG.txt - # Step 1b: Check if image exists on remote LAN Docker - name: check-remote-image image: docker:24 environment: @@ -42,7 +39,6 @@ steps: echo "⚙️ Docker image apps/homepage:$IMAGE_TAG not found — proceeding to build..."; fi - # Step 2: Build Docker image (dynamic tag) - name: build-image image: docker:24 environment: @@ -57,7 +53,30 @@ steps: echo "🔨 Building Docker image apps/homepage:$IMAGE_TAG ..." docker build --network=host -t apps/homepage:$IMAGE_TAG -t apps/homepage:latest . - # Step 3: Stop old container (if exists) + - name: push-image + image: docker:24 + environment: + DOCKER_HOST: tcp://192.168.1.111:2376 + REGISTRY_HOST: + from_secret: REGISTRY_HOST + REGISTRY_USER: + from_secret: REGISTRY_USER + REGISTRY_PASS: + from_secret: REGISTRY_PASS + commands: + - | + IMAGE_TAG=$(cat /drone/src/LATEST_TAG.txt) + if [ -z "$IMAGE_TAG" ]; then + echo "❌ No tag found in LATEST_TAG.txt — cannot push." + exit 1 + fi + echo "🔑 Logging into registry $REGISTRY_HOST ..." + echo "$REGISTRY_PASS" | docker login $REGISTRY_HOST -u "$REGISTRY_USER" --password-stdin + echo "📤 Pushing apps/homepage:$IMAGE_TAG ..." + docker push $REGISTRY_HOST/apps/homepage:$IMAGE_TAG + echo "📤 Pushing apps/homepage:latest ..." + docker push $REGISTRY_HOST/apps/homepage:latest + - name: stop-old image: docker:24 environment: @@ -67,7 +86,6 @@ steps: echo "🛑 Stopping old container..." docker rm -f homepage || true - # Step 4: Run container - name: run-container image: docker:24 environment: