Add jenkinsfile for pipeline build and dockerfile for build

Signed-off-by: brian <brian@brutex.de>
master
Brian Rosenberger 2022-10-26 10:19:22 +02:00
parent a6d60a4cdb
commit 6abe96a1da
2 changed files with 75 additions and 10 deletions

View File

@ -0,0 +1,65 @@
/*
*
* ******************************************************************************
* *
* * This program and the accompanying materials are made available under the
* * terms of the Apache License, Version 2.0 which is available at
* * https://www.apache.org/licenses/LICENSE-2.0.
* *
* * See the NOTICE file distributed with this work for additional
* * information regarding copyright ownership.
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* * License for the specific language governing permissions and limitations
* * under the License.
* *
* * SPDX-License-Identifier: Apache-2.0
* *****************************************************************************
*
*/
pipeline {
agent none
stages {
stage {
parallel {
agent {
dockerfile {
filename 'Dockerfile'
dir '.docker'
label 'linux && docker && cuda'
//additionalBuildArgs '--build-arg version=1.0.2'
//args '--gpus all' --needed for test only, you can build without GPU
}
}
stage('prep-build-environment-linux-cuda') {
steps {
checkout scm
//sh 'nvidia-smi'
sh 'nvcc --version'
sh 'gcc --version'
sh 'cmake --version'
sh 'sh ./gradlew --version'
}
}
stage('build-linux-cuda') {
environment {
MAVEN = credentials('Internal Archiva')
OSSRH = credentials('OSSRH')
}
steps {
withGradle {
sh 'sh ./gradlew build --stacktrace -x test -PCAVIS_CHIP=cuda \
-Pmavenuser=$MAVEN_USR -Pmavenpass=$MAVEN_PSW \
-PossrhUsername=$OSSRH_USR -PossrhPassword=$OSSRH_PSW'
}
//stash includes: '/cavis-native/cavis-native-lib/build/lib/*.jar', name: 'cuda-build'
}
}
}
}
}
}

View File

@ -456,19 +456,19 @@ javadoc {
tasks.getByName("publishMavenJavaPublicationToLocalRemoteRepository") { tasks.getByName("publishMavenJavaPublicationToLocalRemoteRepository") {
enabled = true enabled = true
} }
chipList.each { thisChip ->
artifacts { artifacts {
archives jar
chipList.each { thisChip ->
archives tasks.getByName("${thisChip}SupportJar") archives tasks.getByName("${thisChip}SupportJar")
} }
} }
publishing {
publications {
chipList.each { thisChip -> mavenJava(MavenPublication) {
publishing { artifact jar
publications { chipList.each { thisChip ->
mavenJava(MavenPublication) {
artifact jar
artifact tasks.getByName("${thisChip}SupportJar") artifact tasks.getByName("${thisChip}SupportJar")
} }
} }