当我尝试使用以下命令还原数据库时:
sh 'docker ps ; docker exec backend-server-mysql-dev /bin/bash -c "ls -l ; mysqldump -u root -proot soextremedb < soextremedb.sql"'
我收到以下错误:
soextremedb.sql: no file or directory found
这是我的Jenkinsfile:
stage("test") {
sh 'docker ps --all | grep \'backend-\' | awk \'{{print $1}}\' | xargs docker rm -f || true'
}
stage ('Build & Run container') {
imageMysql = docker.build('backend-server-mysql-dev', '--no-cache -f build/docker/mysql/Dockerfile .')
containerMysql = imageMysql.run("--name backend-server-mysql-dev -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_USER=root -e MYSQL_PASSWORD=mahmoud -e MYSQL_DATABASE=soextremedb")
sh 'docker ps ; docker exec backend-server-mysql-dev /bin/bash -c "ls -l ; mysqldump -u root -proot soextremedb < /var/backups/soextremedb.sql"'
imageNodejs = docker.build('backend-server-nodejs-dev', '--no-cache -f build/docker/nodejs/Dockerfile .')
containerNodejs = imageNodejs.run("--name backend-server-nodejs-dev -p 1337:1337")
}
这是我的mysql Dockerfile的内容:
FROM mysql:8.0.3
在Jenkins中的每次构建后,我都需要一些帮助来自动进行备份和还原。 预先感谢。