我正试图在jenkins构建中使用docker compose。但我得到了:
docker-compose: not found
我该如何为安装docker撰写?这是一个插件,还是我必须修改詹金斯的docker图像?
我使用詹金斯:1.642.4
您需要先安装docker-compose
。这是命令:
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
顺便说一句,这是文件:
https://docs.docker.com/compose/install/
假设您正在使用shell构建步骤来调用docker-compose
,则首先需要在运行作业的Jenkins master(或slave节点)上安装docker-compose
。它是一个独立的二进制文件,详细的安装说明可以在这里找到。
Gianmarco的回答对我很有效。如果你是通过Docker镜像安装Jenkins(https://www.jenkins.io/doc/book/installing/docker/),您可以将docker-compose安装作为镜像构建的一部分。通过这种方式,docker compose将包含在可部署的Jenkins图像中。只需将CURL命令添加到Dockerfile:
FROM jenkins/jenkins:2.289.3-lts-jdk11
USER root
RUN apt-get update && apt-get install -y apt-transport-https
ca-certificates curl gnupg2
software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/debian
$(lsb_release -cs) stable"
RUN apt-get update && apt-get install -y docker-ce-cli
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
RUN jenkins-plugin-cli --plugins "blueocean:1.24.7 docker-workflow:1.26"