現在、jenkins/jenkins:lts
画像を使用しています。それはうまく動作し、私が期待したいすべてのことを行います。ビルドステップでMavenゴールを実行したい。問題は、Jenkinsコンテナー環境にMavenがインストールされていないことです。
だから私は言及したイメージを拡張してapt-get install maven
を実行したいと思います。
私の解決策:
FROM "jenkins/jenkins:lts
USER root
RUN /bin/bash -c "apt-get install maven"
これで十分でしょうか? jenkinsイメージのすべてのRUNおよびENTRYPOINTステップはそれ自体で実行され、Dockerfileでそれらを再実行する必要がないと思いますか?
インストール前にパッケージキャッシュを更新する必要があります。お見逃しなく-y
ために apt-get install
。
FROM jenkins/jenkins:lts
RUN apt-get update && apt-get install -y maven
ドキュメントによると、これはあなたのdockerfileにあります
FROM jenkins/jenkins:lts
# if we want to install via apt
USER root
RUN apt-get update && apt-get install -y maven
# drop back to the regular jenkins user - good practice
USER jenkins
Dockerファイルが現在のディレクトリにあると仮定すると、これはイメージをビルドしてローカルのdockerリポジトリにインストールする方法です
docker build -t jenkins-maven .
詳細については
https://github.com/jenkinsci/docker
この方法でmavenをインストールすると、mvnバージョンはおそらく必要なバージョンよりも古いものになります。私がこれを実行したとき、それはApache Maven 3.3.9でした。
これがmavenをdockerにインストールする最も簡単な方法です:
ルート権限でDockerに接続する
Sudo docker exec -u root -t -i [container-id] bash
mavenを更新してインストールする
apt-get updateおよびapt-get install
それでおしまい。
私のための作品ファイル
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && apt-get install -y maven