2017-07-25 23 views
0

私は複数のMavenプロジェクトを持っています。プロジェクトは専用のビルドイメージで構築され、ジェンキンスを介してビルドされています。共有Mavenリポジトリのデータボリュームの共有

私の計画は、すべての依存性が保存されなければならないと私自身の依存関係がインストールされるべきでMavenのリポジトリフォルダを、含まれている共有データボリュームを持つことです。私の依存関係を構築しながら

残念ながらこのalreadは失敗します。参考までに、これは私のJenkinsfileです:

node { 

    stage ('Initializing') { 
     checkout scm 
    } 

    stage ('Build Artifact') { 
     sh 'docker build -f="Dockerfile" -t build-image .' 
     sh 'docker create --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image' 
     sh 'docker rm build-james-plugin-interface' 
    } 
} 

そして、これは私のビルドイメージのDockerfileです:

FROM qnerd/rpi-maven 

ENV BUILD_HOME=/usr/local/james/ 

RUN mkdir -p $BUILD_HOME 
WORKDIR $BUILD_HOME 
ADD pom.xml $BUILD_HOME 

# add source 
ADD . $BUILD_HOME 

# run maven verify 
ENTRYPOINT ["mvn","clean","install"] 

私のデータボリュームのフォルダが全体の時間を空のままなので、いくつかのエラーはおそらくあります私のファイルに。

私があなたを助けてくれることを願っています。

答えて

2

問題は、ビルドイメージのコンテナを作成してから削除することです。 Createはコンテナを実行せず、作成するだけです。だから、どちらか

sh 'docker run --name build-james-plugin-interface --volume m2-repo:/root/.m2 build-image' 

を使用するか、または作成するコマンドの後

sh 'docker start build-james-plugin-interface' 

を追加します。

+0

ありがとう、それはトリックでした! – mietzekotze

関連する問題