我很难找到任何适当的示例,说明如何通过 jenkinsfile 为 Pipeline 作业构建、注册和运行 docker 映像。这是我到目前为止所拥有的:
node {
def myService
stage('Checkout Project') {
checkout scm
}
stage('Build Binary') {
sh "mvn package -f pom.xml -Dmaven.test.skip=true"
}
stage('Build Image') {
sh "pwd"
myService = docker.build('myService -f ${pwd}/Dockerfile')
}
stage('Test Image') {
sh "echo Tests Passed :)"
}
stage('Run uShip Docker Container') {
myService.run()
}
}
我遇到的第一个问题是,当 docker.build() 触发时,它找不到我的 docker 文件,我觉得这很奇怪,因为该命令运行 Dockerfile 的同一目录。接下来,我无法提供任何一致的示例来说明如何注册、推送和运行映像。任何帮助将不胜感激!
更新:很好地解决了 docker 无法找到 docker 文件的问题。这是一个命名问题;我的 docker 文件名为“DockerFile”而不是“Dockerfile”。重命名并且它有效,但现在我收到另一个错误:
无效的存储库名称 (myService),只允许 [a-z0-9-_.]
不知道这是指什么。
更新:除了我最初的问题之外,docker-compose 文件必须是 .yml 类型还是可以是 .properties 文件?