Установка последних двоичных файлов CMake поверх контейнера Docker jenkins - PullRequest
0 голосов
/ 04 декабря 2018

Мне нужно установить самую последнюю версию CMake поверх контейнера Docker jenkins.Мой 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)

Запуск whoami из Dockerfile и из интерактивного сеанса приводит к jenkins.

В чем основное различие между обоими подходами к установке и как я могу установить последние двоичные файлы CMake, используя docker build?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...