1
0
Fork 0
docker-thirdparty/.gitlab-ci.yml

232 lines
4.4 KiB
YAML
Executable File

stages:
- base
- language
- tool
- service
variables:
DOCKER_CERT_PATH: "/shared/docker/client"
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://localhost:2376
DOCKER_TLS_CERTDIR: "/shared/docker"
DOCKER_TLS_VERIFY: 1
.build-image: &build-image
image: docker.artifacts.apextoaster.com/apextoaster/docker:20.10
services:
- docker.artifacts.apextoaster.com/apextoaster/docker-dind:20.10
tags:
- platform:k8s
- runner:shared
allow_failure: false
before_script:
# prep secrets
- mkdir ${HOME}/.docker
- echo "${DOCKER_SECRET}" | base64 -d > ${HOME}/.docker/config.json
- docker info
script:
- ./scripts/image-build.sh
after_script:
- rm -rfv ${HOME}/.docker
image:base:
<<: *build-image
stage: base
only:
changes:
- .gitlab-ci.yml
- base/*
variables:
IMAGE_ROOT: base
IMAGE_NAME: apextoaster/base
IMAGE_VERSION: "1.5"
# language images
image:golang:
<<: *build-image
stage: language
only:
changes:
- .gitlab-ci.yml
- language/golang/*
variables:
IMAGE_ROOT: language/golang
IMAGE_NAME: apextoaster/golang
IMAGE_VERSION: "1.14"
image:node:
<<: *build-image
stage: language
only:
changes:
- .gitlab-ci.yml
- language/node/*
variables:
IMAGE_ROOT: language/node
IMAGE_NAME: apextoaster/node
IMAGE_VERSION: "16.19"
image:python3:
<<: *build-image
stage: language
only:
changes:
- .gitlab-ci.yml
- language/python3/*
variables:
IMAGE_ROOT: language/python3
IMAGE_NAME: apextoaster/python3
IMAGE_VERSION: "3.7"
# tool images
image:ansible:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/ansible/*
variables:
IMAGE_ROOT: tool/ansible
IMAGE_NAME: apextoaster/ansible
IMAGE_VERSION: "2.7"
image:bfg:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/bfg/*
variables:
IMAGE_ROOT: tool/bfg
IMAGE_NAME: apextoaster/bfg
IMAGE_VERSION: "1.13"
image:code-climate:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/code-climate/*
variables:
IMAGE_ROOT: tool/code-climate
IMAGE_NAME: apextoaster/code-climate
IMAGE_VERSION: "0.6"
image:docker:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/docker/*
variables:
IMAGE_ROOT: tool/docker
IMAGE_NAME: apextoaster/docker
IMAGE_VERSION: "20.10"
script:
# embed image-build script
- cp -rv ./scripts ./${IMAGE_ROOT}/
- ./scripts/image-build.sh
image:hugo:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/hugo/*
variables:
IMAGE_ROOT: tool/hugo
IMAGE_NAME: apextoaster/hugo
IMAGE_VERSION: "0.110"
image:licensed:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/licensed/*
variables:
IMAGE_ROOT: tool/licensed
IMAGE_NAME: apextoaster/licensed
IMAGE_VERSION: "1.5.2"
image:rclone:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/rclone/*
variables:
IMAGE_ROOT: tool/rclone
IMAGE_NAME: apextoaster/rclone
IMAGE_VERSION: "1.39"
image:shellcheck:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/shellcheck/*
variables:
IMAGE_ROOT: tool/shellcheck
IMAGE_NAME: apextoaster/shellcheck
IMAGE_VERSION: "0.4"
image:sonar-scanner:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/sonar-scanner/*
variables:
IMAGE_ROOT: tool/sonar-scanner
IMAGE_NAME: apextoaster/sonar-scanner
IMAGE_VERSION: "4.4"
image:terraform:
<<: *build-image
stage: tool
only:
changes:
- .gitlab-ci.yml
- tool/terraform/*
variables:
IMAGE_ROOT: tool/terraform
IMAGE_NAME: apextoaster/terraform
IMAGE_VERSION: "0.11"
# service images
image:docker-dind:
<<: *build-image
stage: service
only:
changes:
- .gitlab-ci.yml
- service/docker-dind/*
variables:
IMAGE_ROOT: service/docker-dind
IMAGE_NAME: apextoaster/docker-dind
IMAGE_VERSION: "20.10"
image:nexus:
<<: *build-image
stage: service
only:
changes:
- .gitlab-ci.yml
- service/nexus/*
variables:
IMAGE_ROOT: service/nexus
IMAGE_NAME: apextoaster/nexus
IMAGE_VERSION: "3.46"
IMAGE_ALT: "ssube/nexus-ext"