temp_contoller_firmware/tools/Jenkinsfile
2025-04-07 03:34:21 +03:00

68 lines
2.6 KiB
Groovy

pipeline {
agent any
stages {
stage('Build Docker Container') {
steps {
script {
// Создаем Docker образ
docker.build("builder_temp_contoller_firmware", "-f ./tools/dockerfile .")
docker.image('builder_temp_contoller_firmware').inside { sh 'make clean MC_UPLOADER=/app/microcontroller_flash_uploader' }
}
}
}
stage('Check') {
steps {
script {
// Запускаем контейнер и выполняем тесты
docker.image('builder_temp_contoller_firmware').inside {
// Здесь вы можете выполнять команды внутри контейнера
sh 'make check MC_UPLOADER=/app/microcontroller_flash_uploader'
//sh 'while true; do sleep 1000; done'
// Например, запуск тестов:
// sh 'pytest tests/'
}
}
}
}
stage('Unit Unit Tests') {
steps {
script {
// Запускаем контейнер и выполняем тесты
docker.image('builder_temp_contoller_firmware').inside {
sh 'make test CPPUTEST=/app/cpputest MC_UPLOADER=/app/microcontroller_flash_uploader'
}
}
}
}
stage('Build') {
steps {
script {
// Запускаем контейнер и выполняем тесты
docker.image('builder_temp_contoller_firmware').inside {
// Здесь вы можете выполнять команды внутри контейнера
sh 'make all ARM_CC_PREFIX=/app/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi MC_UPLOADER=/app/microcontroller_flash_uploader'
// Например, запуск тестов:
// sh 'pytest tests/'
}
}
}
}
}
post {
always {
script {
// Удаляем все контейнеры после выполнения
sh 'docker container prune -f'
// Удаляем все образы, если нужно
sh 'docker rmi builder_temp_contoller_firmware || true'
}
}
}
}