57 lines
No EOL
1.3 KiB
YAML
57 lines
No EOL
1.3 KiB
YAML
variables:
|
|
IMAGE_VERSION: $CI_COMMIT_SHORT_SHA
|
|
IMAGE_TYPE: users
|
|
|
|
default:
|
|
image: debian:11
|
|
|
|
|
|
services:
|
|
- name: docker:24.0.7-dind
|
|
alias: docker
|
|
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- release
|
|
- release-latest
|
|
|
|
before_script:
|
|
- id
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
- docker login -u gnomezworc -p $DOCKERHUB_TOKEN
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:23.0.3-cli
|
|
artifacts:
|
|
paths:
|
|
- $IMAGE_TYPE-$IMAGE_VERSION-release.tar.gz
|
|
variables:
|
|
DOCKER_TLS_VERIFY: 1
|
|
DOCKER_CERT_PATH: /certs/client
|
|
DOCKER_PATH: '.'
|
|
script:
|
|
- docker build --pull -t $CI_REGISTRY_IMAGE:$IMAGE_VERSION-release --target release $DOCKER_PATH
|
|
- docker save $CI_REGISTRY_IMAGE:$IMAGE_VERSION-release | gzip > $IMAGE_TYPE-$IMAGE_VERSION-release.tar.gz
|
|
|
|
integration_test:
|
|
stage: test
|
|
image: golang:1.21-alpine
|
|
variables:
|
|
DOCKER_TLS_VERIFY: 1
|
|
DOCKER_CERT_PATH: /certs/client
|
|
DOCKER_HOST: tcp://docker:2376/
|
|
DOCKER_URL: docker
|
|
before_script:
|
|
- apk update && apk add --no-cache docker-cli
|
|
- apk add bash
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
- docker login -u gnomezworc -p $DOCKERHUB_TOKEN
|
|
script:
|
|
- bash -ex ./scripts/prepar_test.sh
|
|
- . ./config/test.src
|
|
- go test -v ./cmd/
|
|
needs:
|
|
- build |