Jenkins 使用不同的 compose 文件启动相同的 docker 容器
Jenkins start same docker container with different compose files
我是 Jenkins 的新手,我有一个项目,但我需要它的几个实例,具有不同的配置,意思是 运行 不同的 docker-compose 文件,由于安装/端口不同,但项目的其余部分是相同的。
我找不到关于此类问题的任何信息。
如果有帮助:
詹金斯档案:
pipeline {
agent any
environment {
PATH = "$PATH:/usr/local/bin"
}
stages {
stage("build docker image"){
steps{
sh """
docker build . -t application:development --pull=false
"""
}
}
stage("run compose"){
steps{
sh"""
docker-compose up -d
"""
}
}
}
是的!这个有可能。
您需要创建 2 个具有不同配置的 docker-compose 文件。
例如:
docker-撰写-a.yml
docker-撰写-b.yml
那么:
pipeline {
agent any
environment {
PATH = "$PATH:/usr/local/bin"
}
stages {
stage("build docker image"){
steps{
sh """
docker build . -t application:development --pull=false
"""
}
}
stage("run compose"){
steps{
sh"""
docker-compose up -f docker-compose-a.yml -d
docker-compose up -f docker-compose-b.yml -d
"""
}
}
}
我是 Jenkins 的新手,我有一个项目,但我需要它的几个实例,具有不同的配置,意思是 运行 不同的 docker-compose 文件,由于安装/端口不同,但项目的其余部分是相同的。
我找不到关于此类问题的任何信息。
如果有帮助: 詹金斯档案:
pipeline {
agent any
environment {
PATH = "$PATH:/usr/local/bin"
}
stages {
stage("build docker image"){
steps{
sh """
docker build . -t application:development --pull=false
"""
}
}
stage("run compose"){
steps{
sh"""
docker-compose up -d
"""
}
}
}
是的!这个有可能。
您需要创建 2 个具有不同配置的 docker-compose 文件。
例如:
docker-撰写-a.yml
docker-撰写-b.yml
那么:
pipeline {
agent any
environment {
PATH = "$PATH:/usr/local/bin"
}
stages {
stage("build docker image"){
steps{
sh """
docker build . -t application:development --pull=false
"""
}
}
stage("run compose"){
steps{
sh"""
docker-compose up -f docker-compose-a.yml -d
docker-compose up -f docker-compose-b.yml -d
"""
}
}
}