#docker #jenkins #dockerfile #jenkins-pipeline
Вопрос:
Я использовал базу данных MySQL внутри docker и загрузил папку и файл docker на GitHub, я хочу использовать Дженкинса, чтобы определить, когда там что-то изменилось, и удалить мой текущий контейнер, сгенерировать новое и обновленное изображение и создать новый контейнер из этого изображения. У меня есть оба (Докер и Дженкинс), которые работают внутри CentOS в VirtualBox, и оба они уже настроены и запущены. Но мне не удается заставить Дженкинса работать, я использовал синтаксис
agent any
stages {
stage('Try') {
steps {
git credentialsId: 'XXXXXX', url: 'https://github.com/XXXXXX.git'
sh '''docker image build -t imagename:latest .
docker run -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 -it --rm --name containercurrent --network networknome -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 imagename:latest'''
}
}
}
}
Я столкнулся с двумя проблемами, первая из которых заключается в том, что когда я запускаю его в качестве теста в браузере, он выдает ошибку:
Couldn't find any revision to build. Verify the repository and branch configuration for this job.
И когда он запускается на виртуальной машине, он запускает команды в папке Дженкинса, я попытался дать Дженкинсу конкретные команды, чтобы перейти в папку Docker и выполнить команды там, но он продолжает выполнять команды в папке Дженкинса, где нет файла Docker, который нужно найти.
Комментарии:
1. Первый из них выглядит либо как проблема с DNS, либо как проблема с сетью на VB. Попробуйте
ping google.com
с компьютера (Дженкинс тоже может это сделать, если вы не хотите иметь дело с SSH). Второй звучит как проблема, связанная с рабочим каталогом, посмотрите в dir() .