updated Jenkinsfile
This commit is contained in:
parent
4d020b5ced
commit
8c022188c6
78
Jenkinsfile
vendored
78
Jenkinsfile
vendored
@ -1,13 +1,7 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
options {
|
||||
timestamps()
|
||||
ansiColor('xterm')
|
||||
}
|
||||
|
||||
environment {
|
||||
// Default-Env, kann später via Parameter überschrieben werden
|
||||
BUILD_ENV = "pcb_rev_1-4_serial"
|
||||
PIO_HOME_DIR = "${WORKSPACE}/.pio"
|
||||
}
|
||||
@ -16,69 +10,83 @@ pipeline {
|
||||
choice(
|
||||
name: 'BUILD_ENV',
|
||||
choices: ['pcb_rev_1-2_serial', 'pcb_rev_1-3_serial', 'pcb_rev_1-4_serial'],
|
||||
description: 'Welches Environment soll gebaut werden?'
|
||||
description: 'Firmware-Umgebung auswählen'
|
||||
)
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('🧼 Cleanup') {
|
||||
stage('🧹 Cleanup') {
|
||||
steps {
|
||||
deleteDir()
|
||||
}
|
||||
}
|
||||
|
||||
stage('Checkout') {
|
||||
// Kein Checkout nötig – SCM ist über UI definiert
|
||||
|
||||
stage('🧰 Setup PlatformIO') {
|
||||
steps {
|
||||
sshagent(['gitea-ssh']) {
|
||||
sh 'git clone git@git.hiabuto.net:souko/Kettenoeler.git .'
|
||||
dir('Software') {
|
||||
sh '''
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
pip install --upgrade pip platformio
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('🧪 Python & PlatformIO Setup') {
|
||||
stage('📄 Dummy WiFi-Creds') {
|
||||
steps {
|
||||
sh '''
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
pip install --upgrade pip platformio
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('📄 Dummy-Credential-Datei erstellen') {
|
||||
steps {
|
||||
writeFile file: 'wifi_credentials.ini', text: '''
|
||||
dir('Software') {
|
||||
writeFile file: 'wifi_credentials.ini', text: '''
|
||||
[wifi_cred]
|
||||
wifi_ssid_client = DummySSID
|
||||
wifi_password_client = DummyPass
|
||||
admin_password = Admin1234
|
||||
wifi_ap_password = ApPass1234
|
||||
'''.stripIndent()
|
||||
admin_password = Admin123
|
||||
wifi_ap_password = DummyAP
|
||||
'''.stripIndent()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('⚙️ Build Environment: ${params.BUILD_ENV}') {
|
||||
stage('🧪 Build Firmware') {
|
||||
steps {
|
||||
sh '''
|
||||
. .venv/bin/activate
|
||||
platformio run -e ${BUILD_ENV}
|
||||
'''
|
||||
dir('Software') {
|
||||
sh '''
|
||||
. .venv/bin/activate
|
||||
platformio run -e ${params.BUILD_ENV}
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('📦 Firmware sichern') {
|
||||
stage('📦 Archive Firmware') {
|
||||
steps {
|
||||
archiveArtifacts artifacts: ".pio/build/${params.BUILD_ENV}/firmware.bin", fingerprint: true
|
||||
archiveArtifacts artifacts: "Software/.pio/build/${params.BUILD_ENV}/firmware.bin", fingerprint: true
|
||||
}
|
||||
}
|
||||
|
||||
stage('🔌 Flash Hardware (Dummy)') {
|
||||
steps {
|
||||
echo "TODO: Flashen mit z.B. esptool oder PySerial in Hardware/flash.py"
|
||||
}
|
||||
}
|
||||
|
||||
stage('🧠 Run Tests (Dummy)') {
|
||||
steps {
|
||||
dir('Testing') {
|
||||
echo "TODO: Starte Tests mit Testing/test_runner.py oder pytest"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
echo "✅ Build erfolgreich abgeschlossen – Firmware liegt bereit als Artefakt."
|
||||
echo "✅ CI abgeschlossen – Firmware gebaut, Tests vorbereitet"
|
||||
}
|
||||
failure {
|
||||
echo "💣 Build fehlgeschlagen – bitte Logs prüfen!"
|
||||
echo "❌ Fehler im Build – schau in die Logs, Commander"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user