From a31fbb9942f47c1c9f68c92e697217684e2a1562 Mon Sep 17 00:00:00 2001 From: brian Date: Sat, 24 Sep 2022 10:46:55 +0200 Subject: [PATCH] Add jenkinsfile for pipeline build and dockerfile for build --- .docker/Dockerfile | 7 +++++ build.gradle | 34 ++++++++++++++++------- cavis-common-platform/build.gradle | 2 +- jenkinsfile | 44 ++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 .docker/Dockerfile create mode 100644 jenkinsfile diff --git a/.docker/Dockerfile b/.docker/Dockerfile new file mode 100644 index 000000000..06c13a329 --- /dev/null +++ b/.docker/Dockerfile @@ -0,0 +1,7 @@ +FROM nvidia/cuda:11.4.0-devel-ubuntu20.04 + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-11-jdk wget build-essential checkinstall zlib1g-dev libssl-dev +RUN wget https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2.tar.gz && \ + tar -xvf cmake-3.24.2.tar.gz && cd cmake-3.24.2 && \ + ./bootstrap && make && make install diff --git a/build.gradle b/build.gradle index f0c49da06..9e4b0823d 100644 --- a/build.gradle +++ b/build.gradle @@ -110,17 +110,17 @@ allprojects { Project proj -> } repositories { - maven { - name = 'LocalRemote' - def releasesRepoUrl = 'https://archiva.brutex.net/repository/internal/' - def snapshotsRepoUrl = 'https://archiva.brutex.net/repository/snapshots/' - url = proj.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl - allowInsecureProtocol = false - credentials { - username = mavenuser - password = mavenpass - } + maven { + name = 'LocalRemote' + def releasesRepoUrl = 'https://archiva.brutex.net/repository/internal/' + def snapshotsRepoUrl = 'https://archiva.brutex.net/repository/snapshots/' + url = proj.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + allowInsecureProtocol = false + credentials { + username = mavenuser + password = mavenpass } + } /* maven { name = 'OSSRH' @@ -134,6 +134,20 @@ allprojects { Project proj -> } */ +/* + maven { + name = 'localGitea' + def releasesRepoUrl = 'http://bru3-pc.fritz.box:3000/api/packages/brutex/maven' + def snapshotsRepoUrl = 'http://bru3-pc.fritz.box:3000/api/packages/brutex/maven' + url = proj.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + allowInsecureProtocol = true + credentials { + username = mavenuser + password = mavenpass + } + } + */ + } } } diff --git a/cavis-common-platform/build.gradle b/cavis-common-platform/build.gradle index 7df8e9da7..a48daab7b 100644 --- a/cavis-common-platform/build.gradle +++ b/cavis-common-platform/build.gradle @@ -17,7 +17,7 @@ ext { def javacv = [version:"1.5.6"] def opencv = [version: "4.5.3"] def leptonica = [version: "1.81.1"] - def junit = [version: "5.7.1"] + def junit = [version: "5.9.1"] def flatbuffers = [version: "1.10.0"] diff --git a/jenkinsfile b/jenkinsfile new file mode 100644 index 000000000..7cbda7c26 --- /dev/null +++ b/jenkinsfile @@ -0,0 +1,44 @@ +pipeline { + + + agent { + + dockerfile { + filename 'Dockerfile' + dir '.docker' + label 'linuxdocker' + //additionalBuildArgs '--build-arg version=1.0.2' + args '--gpus all' + } + } + + stages { + stage('prep-build-environment') { + steps { + //git poll: false, url: 'http://bru3-pc.fritz.box:3000/Brutex/ci-deeplearning4j.git' + sh 'nvidia-smi' + sh 'nvcc --version' + sh 'gcc --version' + sh 'cmake --version' + checkout scm + } + } + stage('build') { + environment { + MAVEN = credentials('Internal Archiva') + OSSRH = credentials('OSSRH') + + } + steps { + + sh 'chmod u+x ./gradlew && ls -la' + sh './gradlew --version' + withGradle { + sh './gradlew build --stacktrace --no-watch-fs -x test -PCAVIS_CHIP=cuda -Pmavenuser=$MAVEN_USR -Pmavenpass=$MAVEN_PSW -PossrhUsername=$OSSRH_USR -PossrhPassword=$OSSRH_PSW' + } + + } + } + + } +}