mosquitto-with-auth/.gitlab-ci.yml

77 lines
3.2 KiB
YAML
Raw Permalink Normal View History

2019-06-11 14:25:36 +00:00
stages:
2019-06-11 14:29:39 +00:00
- build
2019-06-11 15:51:39 +00:00
- dockerize
variables:
2020-06-30 14:49:32 +00:00
IMAGE_NAME: registry.hottis.de/dockerized/mosquitto-with-auth
2019-06-12 12:42:50 +02:00
HUB_IMAGE_NAME: wollud1969/mosquitto-with-auth
2022-09-12 19:12:31 +02:00
GO_BINARIES: go1.19.1.linux-amd64.tar.gz
2019-06-11 14:25:36 +00:00
build:
2019-06-11 14:29:39 +00:00
stage: build
2022-09-12 19:12:31 +02:00
image: registry.hottis.de/dockerized/base-build-env:1.5.3-bullseye
2019-06-11 14:25:36 +00:00
tags:
- hottis
- linux
- docker
variables:
GIT_SUBMODULE_STRATEGY: recursive
2019-06-11 14:29:39 +00:00
except:
- tags
2019-06-11 15:21:42 +00:00
artifacts:
paths:
2019-06-11 15:33:10 +00:00
- opt/
- etc/
2019-06-11 15:51:39 +00:00
- generated-version.txt
2022-11-23 12:29:15 +01:00
- version.txt
2019-06-11 14:29:39 +00:00
script:
- apt update
2022-10-04 18:38:06 +02:00
- apt install -y gcc g++ libssl-dev uuid-dev libcjson-dev xsltproc docbook docbook-xsl libmariadb-dev libpq-dev libwebsockets-dev
2019-06-12 18:28:14 +02:00
- wget https://dl.google.com/go/$GO_BINARIES
- tar -xzf $GO_BINARIES
- mv go /usr/local
- GOROOT=/usr/local/go
- PATH=$PATH:$GOROOT/bin
2019-06-11 14:56:18 +00:00
- MOSQ_SRC=`pwd`/parts/mosquitto
2019-06-11 15:39:40 +00:00
- BUILD_DIR=`pwd`
2019-06-11 15:18:30 +00:00
- pushd parts/mosquitto
2019-06-12 17:09:19 +02:00
- sed -i 's,prefix?=/usr/local,prefix=/opt,' config.mk
- sed -i 's,WITH_WEBSOCKETS:=no,WITH_WEBSOCKETS:=yes,' config.mk
2019-06-11 15:39:40 +00:00
- env DESTDIR=$BUILD_DIR make
- env DESTDIR=$BUILD_DIR make install
2019-06-11 15:18:30 +00:00
- popd
2019-06-12 18:28:14 +02:00
- pushd parts/mosquitto-go-auth
2019-06-12 18:33:30 +02:00
- export CGO_CFLAGS="-I$BUILD_DIR/opt/include -fPIC"
2019-06-12 18:31:14 +02:00
- export CGO_LDFLAGS="-shared"
2019-06-11 15:18:30 +00:00
- make
2019-06-12 18:28:14 +02:00
- cp go-auth.so $BUILD_DIR/opt/lib
- cp pw $BUILD_DIR/opt/bin
2019-06-11 15:18:30 +00:00
- popd
2019-06-11 15:51:39 +00:00
- VERSION=`cat VERSION`
2022-11-23 12:29:15 +01:00
- echo -n "$VERSION" > version.txt
2019-06-11 15:51:39 +00:00
- REFCNT=`git rev-list --all --count`
- echo -n "$VERSION.$REFCNT.$CI_COMMIT_REF_NAME" > generated-version.txt
dockerize:
stage: dockerize
image: docker:stable
tags:
- hottis
- linux
- docker
dependencies:
- build
script:
2022-11-23 12:42:08 +01:00
- GENERATED_VERSION=`cat generated-version.txt`
2022-11-23 12:29:15 +01:00
- VERSION=`cat version.txt`
2022-11-23 12:38:50 +01:00
- echo docker build --tag $IMAGE_NAME:latest --tag $IMAGE_NAME:$VERSION --tag $IMAGE_NAME:$GENERATED_VERSION --tag $HUB_IMAGE_NAME:latest --tag $HUB_IMAGE_NAME:$VERSION --tag $HUB_IMAGE_NAME:$GENERATED_VERSION .
2022-11-23 12:35:39 +01:00
- docker build --tag $IMAGE_NAME:latest --tag $IMAGE_NAME:$VERSION --tag $IMAGE_NAME:$GENERATED_VERSION --tag $HUB_IMAGE_NAME:latest --tag $HUB_IMAGE_NAME:$VERSION --tag $HUB_IMAGE_NAME:$GENERATED_VERSION .
2019-06-11 15:51:39 +00:00
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker push $IMAGE_NAME:latest
- docker push $IMAGE_NAME:$VERSION
2022-11-23 12:29:15 +01:00
- docker push $IMAGE_NAME:$GENERATED_VERSION
2019-06-12 12:42:50 +02:00
- docker login -u $DOCKER_HUB_LOGIN -p $DOCKER_HUB_PASSWORD
- docker push $HUB_IMAGE_NAME:latest
- docker push $HUB_IMAGE_NAME:$VERSION
2022-11-23 12:29:15 +01:00
- docker push $HUB_IMAGE_NAME:$GENERATED_VERSION
2019-06-11 14:25:36 +00:00