所以我想开始使用Jenkins来构建我的应用程序,然后测试它,并将我的图像推送到本地存储库。因为我有两个图像要推送,所以我想使用docker-compose,但docker-compose缺失。
我通过Portainer安装了Jenkins,并且我正在使用jenkins/jenkins:lts镜像。
有没有一种方法可以将docker-compose安装到容器中,而不必为它创建我自己的Dockerfile?
到目前为止,我的Jenkins管道是:
node {
stage('Clone repository') {
checkout([$class: 'GitSCM',
branches: [[name: '*/master' ]],
extensions: scm.extensions,
userRemoteConfigs: [[
url: 'repo-link',
credentialsId: 'credentials'
]]
])
}
stage('Build image') {
sh 'cd src/ && docker-compose build'
}
stage('Push image') {
sh 'docker-compose push'
}
}
发布于 2021-08-10 20:48:34
您可以在镜像构建期间安装docker-compose (通过Dockerfile):
FROM jenkins/jenkins
USER root
RUN curl -L \
"https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose \
&& chmod +x /usr/local/bin/docker-compose
USER jenkins
或者,您可以在Jenkins容器已经运行之后,通过相同的CURL命令安装docker-compose:
$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.3/run.sh -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
https://stackoverflow.com/questions/65490074
复制相似问题