53 lines
954 B
YAML
53 lines
954 B
YAML
variables:
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
|
|
IMAGE_TAG_LATEST: $CI_REGISTRY_IMAGE:latest
|
|
|
|
stages:
|
|
- eleventy
|
|
- docker_build
|
|
- docker_deploy
|
|
- portainer_update
|
|
|
|
eleventy:
|
|
stage: eleventy
|
|
image: node:latest
|
|
cache:
|
|
paths:
|
|
- node_modules/
|
|
script:
|
|
- npm install
|
|
- npm run build
|
|
artifacts:
|
|
paths:
|
|
- _site/
|
|
only:
|
|
- master
|
|
|
|
docker_build:
|
|
before_script:
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
services:
|
|
- docker:dind
|
|
stage: docker_build
|
|
image: docker:latest
|
|
script:
|
|
- docker build --no-cache --pull -t $IMAGE_TAG .
|
|
- docker push $IMAGE_TAG
|
|
- docker tag $IMAGE_TAG $IMAGE_TAG_LATEST
|
|
- docker push $IMAGE_TAG_LATEST
|
|
- docker rmi $IMAGE_TAG $IMAGE_TAG_LATEST
|
|
only:
|
|
- master
|
|
|
|
portainer_update:
|
|
stage: portainer_update
|
|
image: curlimages/curl
|
|
script:
|
|
- curl -X POST $PORTAINER_UPDATE
|
|
only:
|
|
- master
|
|
|
|
|
|
|
|
|
|
|