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/
|
2019-06-11 16:05:28 +00:00
|
|
|
- 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
|
2019-06-11 16:09:38 +00:00
|
|
|
- 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
|
|
|
|