ConanServerManager/Jenkinsfile
2024-10-05 19:22:01 -07:00

89 lines
2.2 KiB
Groovy

pipeline {
agent any
options {
buildDiscarder(
logRotator(
numToKeepStr: '5'
)
)
}
stages {
stage('Build on Linux') {
agent {
label 'flutter'
}
steps {
script {
sh '''
#!/bin/bash
flutter pub get
flutter build linux
dart compile exe -o server bin/server.dart
cd build/linux/x64/release/bundle; tar -cvf ../../../../../client.tgz .
'''
}
}
post {
always {
archiveArtifacts artifacts: 'server'
archiveArtifacts artifacts: '*.tgz'
deleteDir()
}
}
}
stage('Build Docker Images') {
agent {
label 'dockermain'
}
steps {
script {
sh '''
#!/bin/bash
docker build -t git.zontreck.com/ariascreations/conanservermanager:stable $(pwd)
docker push git.zontreck.com/ariascreations/conanservermanager:stable
docker build -t git.zontreck.com/ariascreations/conanservermanager:installer docker_images/installer
docker push git.zontreck.com/ariascreations/conanservermanager:installer
'''
}
}
post {
always {
deleteDir()
}
}
}
stage('Build on Windows') {
agent {
label 'windows'
}
steps {
script {
bat 'flutter pub get'
bat 'flutter build windows'
bat 'mkdir out'
bat 'dart compile exe -o out\\server.exe bin\\server.dart'
}
}
post {
always {
archiveArtifacts artifacts: "out\\*.exe", fingerprint: true
deleteDir()
}
}
}
}
}