34 lines
700 B
YAML
34 lines
700 B
YAML
workflow:
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "web"
|
|
- when: never
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
docker-build:
|
|
image: docker:cli
|
|
stage: build
|
|
services:
|
|
- docker:dind
|
|
variables:
|
|
DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- docker build --pull -t "$DOCKER_IMAGE_NAME" .
|
|
- docker push "$DOCKER_IMAGE_NAME"
|
|
rules:
|
|
- exists:
|
|
- Dockerfile
|
|
|
|
deploy:
|
|
image: curlimages/curl:8.10.1
|
|
stage: deploy
|
|
needs: ["docker-build"]
|
|
script:
|
|
- 'test -n "$WEBHOOK_URL"'
|
|
- curl -fsSL -X POST "$WEBHOOK_URL"
|
|
rules:
|
|
- if: $WEBHOOK_URL |