я получаю [0m [[0m [0minfo [0m] [0m[0m в консоли Дженкинса при построении проекта sbt jenkins pipeline

#jenkins #sbt

#дженкинс #sbt

Вопрос:

у меня есть проект sbt в jenkins, я создал проект как проект jenkins pipeline, я установил sbt в jenkins, я установил флажок автоматической установки и выбрал номер версии 1.2.8

вот мой файл jenkins

 pipeline {
    agent any

    stages {
        stage('Reload') {
            steps {
                echo "Reloading..."
                //sh "sbt reload"
                 sh "${tool name: 'sbt1.2.8', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt compile"
            }
        }
}
}

and here is sbt settings in jenkins 
 

введите описание изображения здесь

вот журналы консоли Дженкинса

   /var/lib/jenkins/tools/org.jvnet.hudson.plugins.SbtPluginBuilder_SbtInstallation/sbt1.2.8/bin/sbt compile
[0m[[0m[0minfo[0m] [0m[0mLoading settings for project interpret-backend-project-jenkinsfile-build from plugins.sbt ...[0m
[0m[[0m[0minfo[0m] [0m[0mLoading project definition from /var/lib/jenkins/workspace/interpret-backend-project-jenkinsfile/project[0m
[0m[[0m[0minfo[0m] [0m[0mLoading settings for project interpret-backend-project-jenkinsfile from build.sbt ...[0m
[0m[[0m[0minfo[0m] [0m[0mSet current project to interpret (in build file:/var/lib/jenkins/workspace/interpret-backend-project-jenkinsfile/)[0m
[0m[[0m[0minfo[0m] [0m[0mExecuting in batch mode. For better performance use sbt's shell[0m
[0m[[0m[32msuccess[0m] [0m[0mTotal time: 4 s, completed Nov 25, 2020, 4:53:05 PM[0m
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[Checks API] No suitable checks publisher found.
Finished: SUCCESS
 
 [0m[[0m[0minfo[0m] [0m[0m why is this displaying how can i fix this ? 
 

Ответ №1:

Это цветовые коды ANSI. Вы можете либо использовать их, чтобы иметь красочные журналы, либо отключить их.

Чтобы включить цвета в Jenkins, вы можете изменить определение своего конвейера:

 pipeline {
    ...
    options {
        ansiColor('xterm')
    }
    ...
}
 

Это ссылка на плагин AnsiColor.

Если вы не можете использовать этот плагин и хотите отключить цвета в журналах sbt, вы можете сделать это, изменив sbt.color параметр. Например, запустив sbt с -Dsbt.color=false помощью (я вижу, что вы можете добавить это в пользовательский интерфейс) или добавив его в переменную SBT_OPTS среды:

 pipeline{
    ...
    environment {
        SBT_OPTS = "${SBT_OPTS} -Dsbt.color=false"
    }
    ...
}
 

Ознакомьтесь с документами sbt и также взгляните на эту sbt.ci опцию, она должна быть автоматически установлена для Jenkins.