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' } } } }