Образ докера Jenkins Blueocean основан на Alpine Linux (нашел это, запустив cat /etc/*-release
из образа через Portainer ).
Alpine использует apk в качестве менеджера / установщика пакетов.Так
- Консоль входа в контейнер (доступ к оболочке).Я снова использовал для этого функцию подключения консоли Portainer.
- Ran
apk add maven
для установки maven.Это сработало, и шаг Jenkins в сценарии рабочего процесса sh mvn clean install
мог бы успешно выполняться.
EDIT Альтернативным и гораздо лучшим способом было бы использовать отдельный док-контейнер maven в качестве агента Jenkins в качестве агентапредлагается в учебной документации здесь :
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v /root/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B -DskipTests clean package'
}
}
}
}