Jenkins 2.0 管道指令碼 Docker 容器
下面是一個構建 Docker 容器的管道指令碼示例,然後在其中執行測試。假設入口點是 manage.py
或 invoke
/ fabric
,並且可以使用 runtests
命令。
#!/usr/bin/groovy
node {
stage 'Checkout'
checkout scm
sh 'git submodule update --init --recursive'
imageName = 'mycontainer:build'
remotes = [
'dockerhub-account',
]
stage 'Build'
def djangoImage = docker.build imageName
stage 'Run Tests'
djangoImage.run('', 'runtests')
stage 'Push'
for (int i = 0; i < remotes.size(); i++) {
sh "docker tag ${imageName} ${remotes[i]}/${imageName}"
sh "docker push ${remotes[i]}/${imageName}"
}
}