62 lines
2.2 KiB
YAML
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
|
|
|