Compare commits

...

4 Commits

Author SHA1 Message Date
DanyLE
d63b1eee01 fix: add git init stage
All checks were successful
gitea-sync/mosquito_build/pipeline/head This commit looks good
2023-09-25 16:12:42 +02:00
DanyLE
19fca4d301 feat: add libwebsockets and Jenkinsfile
Some checks failed
gitea-sync/mosquito_build/pipeline/head There was a failure building this commit
2023-09-25 16:07:00 +02:00
DanyLE
8b180da9fb refactor: add .gitignore file 2023-09-25 14:44:01 +02:00
DanyLE
8bc7680ee6 feat: add mosquitto submodule 2023-09-25 14:41:51 +02:00
5 changed files with 120 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
build

6
.gitmodules vendored Normal file
View File

@@ -0,0 +1,6 @@
[submodule "mosquitto"]
path = mosquitto
url = https://github.com/eclipse/mosquitto.git
[submodule "libwebsockets"]
path = libwebsockets
url = https://github.com/dmikushin/libwebsockets.git

111
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,111 @@
def build_moquitto()
{
sh '''
set -e
DESTDIR="$WORKSPACE/build/$arch/"
[ -d "$DESTDIR" ] && rm -rf "$DESTDIR" || true
mkdir -p "$DESTDIR"
# build libwebsocket first
cd $WORKSPACE
[ -d libwebsockets/build/ ] && rm -rf libwebsockets/build/ || true
mkdir -p libwebsockets/build/
cd libwebsockets/build/
cmake -DLWS_WITH_EXTERNAL_POLL=ON -DLWS_WITH_STATIC=1 -DLWS_WITH_SHARED=0 ..
make
# now build moquitto
cd $WORKSPACE/mosquitto
make reallyclean || true
make WITH_WEBSOCKETS=yes \
WITH_CJSON=no \
WITH_SHARED_LIBRARIES=no \
WITH_SYSTEMD=no \
WITH_DOCS=no \
CFLAGS="-I $WORKSPACE/libwebsockets/build/include/" \
LDFLAGS="-L $WORKSPACE/libwebsockets/build/lib"
# install neccessary file
mkdir -p "$DESTDIR/opt/www/bin/"
mkdir -p "$DESTDIR/opt/www/config/"
cp ./src/mosquitto $DESTDIR/opt/www/bin/
cp ./apps/mosquitto_passwd/mosquitto_passwd $DESTDIR/opt/www/bin/
cp ./mosquitto.conf $DESTDIR/opt/www/config/
'''
}
pipeline{
agent { node{ label'master' }}
options {
buildDiscarder(logRotator(numToKeepStr: "1"))
// Enable timestamps in build log console
timestamps()
// Maximum time to run the whole pipeline before canceling it
timeout(time: 3, unit: 'HOURS')
// Use Jenkins ANSI Color Plugin for log console
ansiColor('xterm')
// Limit build concurrency to 1 per branch
disableConcurrentBuilds()
}
stages
{
stage('git init') {
steps {
sh'''
cd $WORKSPACE
git submodule update --init --depth 1
'''
}
}
stage('Build AMD64') {
agent {
docker {
image 'xsangle/ci-tools:bionic-amd64'
reuseNode true
}
}
steps {
script{
env.arch = "amd64"
}
build_moquitto()
}
}
stage('Build ARM64') {
agent {
docker {
image 'xsangle/ci-tools:bionic-arm64'
reuseNode true
}
}
steps {
script{
env.arch = "arm64"
}
build_moquitto()
}
}
stage('Build ARM') {
agent {
docker {
image 'xsangle/ci-tools:bionic-arm'
reuseNode true
}
}
steps {
script{
env.arch = "arm"
}
build_moquitto()
}
}
stage('Archive') {
steps {
script {
archiveArtifacts artifacts: 'build/', fingerprint: true
}
}
}
}
}

1
libwebsockets Submodule

Submodule libwebsockets added at 7e10336717

1
mosquitto Submodule

Submodule mosquitto added at 3923526c6b