Files
mosquitto-with-auth/.gitlab-ci.yml
2019-06-11 22:17:48 +02:00

62 lines
2.2 KiB
YAML

stages:
- build
- dockerize
variables:
IMAGE_NAME: registry.gitlab.com/wolutator/mosquitto-with-auth
build:
stage: build
image: registry.gitlab.com/wolutator/base-build-env:latest
tags:
- hottis
- linux
- docker
variables:
GIT_SUBMODULE_STRATEGY: recursive
except:
- tags
artifacts:
paths:
- opt/
- etc/
- generated-version.txt
script:
- apt update
- apt install -y gcc g++ libssl-dev uuid-dev xsltproc docbook docbook-xsl libmariadbclient-dev libwebsockets-dev
- MOSQ_SRC=`pwd`/parts/mosquitto
- BUILD_DIR=`pwd`
- pushd parts/mosquitto
- sed -i 's,prefix=/usr/local,prefix=/opt,' config.mk
- sed -i 's,WITH_WEBSOCKETS:=no,WITH_WEBSOCKETS:=yes,' config.mk
- env DESTDIR=$BUILD_DIR make
- env DESTDIR=$BUILD_DIR make install
- popd
- pushd parts/mosquitto-auth-plug
- cat config.mk.in | sed 's,^MOSQUITTO_SRC =,MOSQUITTO_SRC = '"$BUILD_DIR"'/opt,' > config.mk
- sed -i 's,CFLAGS += -I$(MOSQUITTO_SRC)/src/,CFLAGS += -I$(MOSQUITTO_SRC)/include/,' Makefile
- make
- cp auth-plug.so $BUILD_DIR/opt/lib
- cp np $BUILD_DIR/opt/bin
- popd
- VERSION=`cat VERSION`
- 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:
- VERSION=`cat generated-version.txt`
- docker build --tag $IMAGE_NAME:latest --tag $IMAGE_NAME:$VERSION .
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker push $IMAGE_NAME:latest
- docker push $IMAGE_NAME:$VERSION