40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
stages:
|
|
- build
|
|
|
|
variables:
|
|
# OVH Container Registry URL (without https://)
|
|
# Image name and tag (format: registry/project/image)
|
|
IMAGE_NAME: "easyportal"
|
|
IMAGE_TAG: "${OVH_REGISTRY_URL}/${IMAGE_NAME}:${CI_COMMIT_REF_SLUG}-${CI_PIPELINE_ID}"
|
|
IMAGE_LATEST: "${OVH_REGISTRY_URL}/${IMAGE_NAME}:latest"
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:20.10.16
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH == "develop"'
|
|
when: always
|
|
- when: manual
|
|
before_script:
|
|
# Use host Docker daemon via socket
|
|
- docker info
|
|
# Login to OVH Container Registry
|
|
- echo "Logging into OVH Container Registry..."
|
|
- echo "$OVH_REGISTRY_PASSWORD" | docker login -u "$OVH_REGISTRY_USERNAME" "$OVH_REGISTRY_URL" --password-stdin
|
|
script:
|
|
# Build the FrankenPHP image
|
|
- echo "Building Docker image..."
|
|
- docker build --build-arg APP_ENV=prod --target frankenphp_prod -t $IMAGE_TAG -t $IMAGE_LATEST .
|
|
|
|
# Push both tags to OVH registry
|
|
- echo "Pushing image to OVH registry..."
|
|
- docker push $IMAGE_TAG
|
|
- docker push $IMAGE_LATEST
|
|
|
|
# Display image info
|
|
- echo "Successfully pushed:"
|
|
- echo " - $IMAGE_TAG"
|
|
- echo " - $IMAGE_LATEST"
|
|
after_script:
|
|
- docker logout $OVH_REGISTRY_URL || true
|