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