gpt4 book ai didi

unix - 在 jenkins Docker 容器上安装最新的 CMake 二进制文件

转载 作者:行者123 更新时间:2023-12-04 15:51:29 25 4
gpt4 key购买 nike

我需要在 jenkins Docker 容器上安装最新版本的 CMake。我的 Dockerfile 如下所示:

FROM jenkins/jenkins:lts

# Install required plugins
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

# Install CMake
RUN mkdir $JENKINS_HOME/cmake
RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.13.1/cmake-3.13.1-Linux-x86_64.tar.gz | tar --strip-components=1 -xz -C $JENKINS_HOME/cmake

当我启动 FROM 容器交互($ docker run -it jenkins/jenkins:lts bash)时,我能够将 CMake 安装到 $JENKINS_HOME/cmake.

$ docker run -it jenkins/jenkins:lts bash
$ mkdir $JENKINS_HOME/cmake
$ curl -L https://github.com/Kitware/CMake/releases/download/v3.13.1/cmake-3.13.1-Linux-x86_64.tar.gz | tar --strip-components=1 -xz -C $JENKINS_HOME/cmake
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 620 0 620 0 0 826 0 --:--:-- --:--:-- --:--:-- 826
100 36.6M 100 36.6M 0 0 5485k 0 0:00:06 0:00:06 --:--:-- 7581k
$ ls $JENKINS_HOME/cmake

但是,当我尝试使用 docker build 构建该镜像时,构建失败了:

...
Step 5/7 : RUN mkdir $JENKINS_HOME/cmake
---> Running in 6e8b914f2264
Removing intermediate container 6e8b914f2264
---> 24a75881d500
Step 6/7 : RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.13.1/cmake-3.13.1-Linux-x86_64.tar.gz | tar --strip-components=1 -xz -C $JENKINS_HOME/cmake
---> Running in d1759df1fbdb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 620 0 620 0 0 988 0 --:--:-- --:--:-- --:--:-- 988
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0tar: /var/jenkins_home/cmake: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
0 36.6M 0 50724 0 0 35123 0 0:18:13 0:00:01 0:18:12 82077
curl: (23) Failed writing body (2500 != 16360)

从 Dockerfile 和交互式 session 中运行 whoami,两者都会产生 jenkins

这两种安装方法的主要区别是什么?我如何使用 docker build 安装最新的 CMake 二进制文件?

最佳答案

看看here它是来自 gcc 的 Dockerfile,它安装了最新版本的 cmake,这是它的内容:

FROM gcc:5

RUN wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-Linux-x86_64.sh \
-q -O /tmp/cmake-install.sh \
&& chmod u+x /tmp/cmake-install.sh \
&& mkdir /usr/bin/cmake \
&& /tmp/cmake-install.sh --skip-license --prefix=/usr/bin/cmake \
&& rm /tmp/cmake-install.sh

ENV PATH="/usr/bin/cmake/bin:${PATH}"

我一直在寻找一种解决方案来构建 XGboost 以便在 Docker 中使用 GPU,并且需要版本高于 3.12 的 cmake。这种安装方法适合我。

关于unix - 在 jenkins Docker 容器上安装最新的 CMake 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com