|
56 | 56 | @echo " docker-compose-ci Run CI/CD simulation" |
57 | 57 | @echo " docker-clean Clean Docker images and system" |
58 | 58 | @echo " docker-all Build and test all Docker images" |
| 59 | + @echo " docker-tag Tag images for registry push" |
| 60 | + @echo " docker-login Login to GitHub Container Registry" |
| 61 | + @echo " docker-push Push tagged images to registry" |
| 62 | + @echo " docker-push-override Build and push images (overrides existing version)" |
59 | 63 | @echo "" |
60 | 64 | @echo "Utilities:" |
61 | 65 | @echo " clean Clean build artifacts" |
@@ -190,7 +194,7 @@ docker-build: |
190 | 194 |
|
191 | 195 | docker-test: |
192 | 196 | @echo "Testing Docker images..." |
193 | | - ./scripts/healthcheck.sh || true |
| 197 | + docker run --rm -v $(PWD)/scripts:/scripts openmorph:dev /scripts/healthcheck.sh || true |
194 | 198 | docker run --rm openmorph:latest --version |
195 | 199 | docker run --rm openmorph:distroless --version |
196 | 200 | @echo "Creating test files..." |
@@ -227,3 +231,48 @@ docker-clean: |
227 | 231 |
|
228 | 232 | docker-all: docker-build docker-test |
229 | 233 | @echo "Docker build and test complete" |
| 234 | + |
| 235 | +# Docker registry commands |
| 236 | +docker-tag: |
| 237 | + @echo "Tagging Docker images for registry..." |
| 238 | + docker tag openmorph:latest ghcr.io/developerkunal/openmorph:v$(VERSION) |
| 239 | + docker tag openmorph:latest ghcr.io/developerkunal/openmorph:latest |
| 240 | + docker tag openmorph:latest ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1) |
| 241 | + docker tag openmorph:latest ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1-2) |
| 242 | + docker tag openmorph:distroless ghcr.io/developerkunal/openmorph:v$(VERSION)-distroless |
| 243 | + docker tag openmorph:dev ghcr.io/developerkunal/openmorph:v$(VERSION)-dev |
| 244 | + @echo "✅ Images tagged for ghcr.io/developerkunal/openmorph" |
| 245 | + |
| 246 | +docker-login: |
| 247 | + @echo "Logging into GitHub Container Registry..." |
| 248 | + @echo "Make sure you have a GitHub token with write:packages permission" |
| 249 | + @echo "Run: echo \$$GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin" |
| 250 | + @echo "Or use: docker login ghcr.io" |
| 251 | + docker login ghcr.io |
| 252 | + |
| 253 | +docker-push: docker-tag |
| 254 | + @echo "Pushing Docker images to GitHub Container Registry..." |
| 255 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION) |
| 256 | + docker push ghcr.io/developerkunal/openmorph:latest |
| 257 | + docker push ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1) |
| 258 | + docker push ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1-2) |
| 259 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION)-distroless |
| 260 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION)-dev |
| 261 | + @echo "✅ All images pushed successfully!" |
| 262 | + |
| 263 | +docker-push-override: docker-build docker-tag |
| 264 | + @echo "🚨 OVERRIDING existing v$(VERSION) images with security fixes..." |
| 265 | + @echo "This will replace the existing images in the registry" |
| 266 | + @read -p "Are you sure you want to override v$(VERSION)? (y/N): " confirm; \ |
| 267 | + if [ "$$confirm" = "y" ] || [ "$$confirm" = "Y" ]; then \ |
| 268 | + echo "Pushing images..."; \ |
| 269 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION); \ |
| 270 | + docker push ghcr.io/developerkunal/openmorph:latest; \ |
| 271 | + docker push ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1); \ |
| 272 | + docker push ghcr.io/developerkunal/openmorph:v$(shell echo $(VERSION) | cut -d. -f1-2); \ |
| 273 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION)-distroless; \ |
| 274 | + docker push ghcr.io/developerkunal/openmorph:v$(VERSION)-dev; \ |
| 275 | + echo "✅ v$(VERSION) images overridden with security fixes!"; \ |
| 276 | + else \ |
| 277 | + echo "❌ Push cancelled"; \ |
| 278 | + fi |
0 commit comments