【发布时间】:2019-04-26 05:17:38
【问题描述】:
在我们的 jenkins2 管道中,我们使用 docker-compose 进行一些测试,并且我们的 docker-compose 文件从分支名称 (git) 及其内部版本号的组合中获取其网络名称。
Jenkins 文件片段:
def version = "$BRANCH_NAME-$BUILD_NUMBER"
def networkName = "network-$version"
sh "NETWORK_NAME=$networkName docker-compose up -d"
docker-compose.yml 片段:
version: '3.5'
networks:
default:
name: ${NETWORK_NAME}
driver: bridge
看起来当我们有一个短分支名称时一切都很好,而当我们有一个长分支名称时它会失败。
网络名称在 docker-compose 中可以保留多长时间?我似乎无法在文档中找到它。 有没有比获取分支名称更好的解决方案来获得唯一的网络名称?
我已经尝试过了,但不知何故它似乎有点矫枉过正:
echo $(git rev-parse --abbrev-ref HEAD) | md5 | cut -f1 -d" "
将给出 md5 结果。
【问题讨论】:
标签: docker jenkins docker-compose