Tag: maven

Java Maven项目中的Docker指令跳过testing

我在我的基于Maven的Java项目。 我想在构buildJava项目时跳过testing。 目前,我有以下的Docker说明 RUN ["mvn", "clean"] RUN ["mvn", "install"] 如何跳过“安装”指令中的testing? 我试图把-Dmaven.test.skip=true但没有工作。

.war部署后运行Maven ant插件?

我目前正在尝试创build一个基于我的战争文件,将部署在目标文件夹内创build一个docker的形象。 但是,在maven war文件被部署到目标文件夹之前,ant插件会执行命令。 由于这一点,尽pipe它试图创build一个docker图像,它不会find必要的.war文件来添加,因为它没有被部署到目标文件夹。 ant插件也被称为docker的一个单独的configuration文件下。 虽然我读了Maven生命周期文档 ,却找不到一个合适的方法来实现这个目标。 这是我的.pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <groupId>org.ravindu</groupId> <modelVersion>4.0.0</modelVersion> <artifactId>ravindu_test</artifactId> <packaging>war</packaging> <version>1.0.0</version> <name>Ravindu_Test_Proj</name> <dependencies> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-core</artifactId> <version>[4.0,)</version> </dependency> <dependency> <groupId>org.facebook4j</groupId> <artifactId>facebook4j-core</artifactId> <version>[2.1,)</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>20.0</version> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <executions> <execution> <goals> […]

Maven可以创build文件夹和locking文件,但下载时会挂起

我有一个maven构build,我使用Docker中心的官方maven镜像在Docker容器中运行。 .m2目录被挂载到一个NFS共享。 这个工作在一个环境中,但是在另一个相同的环境中,在写入locking文件之后,它总是会挂起。 它从来没有完成下载,但永远挂在那里。 由于mavendebugging没有给我任何细节后,它挂起点,我决定看.m2目录,看看发生了什么。 ubuntu@kubernetes-dev-nfs-pv:/nfs-shares/jenkins/.m2$ inotifywait -m -r . Setting up watches. Beware: since -r was given, this may take a while! Watches established. ./ CREATE,ISDIR repository ./ OPEN,ISDIR repository ./ CLOSE_NOWRITE,CLOSE,ISDIR repository ./repository/ CREATE,ISDIR org ./repository/ OPEN,ISDIR org ./repository/ CLOSE_NOWRITE,CLOSE,ISDIR org ./repository/org/ CREATE,ISDIR springframework ./repository/org/ OPEN,ISDIR springframework ./repository/org/ CLOSE_NOWRITE,CLOSE,ISDIR springframework ./repository/org/springframework/ CREATE,ISDIR boot […]

Maven无法连接到docker内的networking

我想克隆一个git项目,并在mvn package执行mvn package 。 但是maven无法连接到networking来下载依赖关系。 这是Dockerfile : FROM java:8 FROM maven ADD id_rsa /root/.ssh/id_rsa ADD known_hosts /root/.ssh/known_hosts RUN git clone git@myhub.mygithub.com:project/myapp.git WORKDIR myapp RUN mvn package 这是maven构build命令: sudo docker build –build-arg http_proxy=http://proxy.in.my.com:80 –build-arg https_proxy=http://proxy.in.my.com:80 –build-arg ftp_proxy=http://proxy.in.my.com:80 –build-arg no_proxy=localhost,127.0.0.1,.us.my.com,.my.com -t myapp . 我在mvn package得到以下错误: Downloading: https://repo.maven.apache.org/maven2/org/jacoco/jacoco-maven-plugin/0.7.6.201602180812/jacoco-maven-plugin-0.7.6.201602180812.pom [ERROR] Plugin org.jacoco:jacoco-maven-plugin:0.7.6.201602180812 or one of its dependencies could not […]

扩展jenkins图像来安装maven

我正在使用jenkins/jenkins:lts目前的形象。 它运行良好,做我想要的一切事情。 我希望它在构build步骤中运行Maven目标。 问题是jenkins容器环境中没有安装Maven。 所以我想扩展提到的图像来运行apt-get install maven 。 我的解决scheme FROM "jenkins/jenkins:lts USER root RUN /bin/bash -c "apt-get install maven" 这足够吗? 我假设jenkins映像的所有RUN和ENTRYPOINT步骤将自行运行,而且我不需要在Dockerfile中重新执行它们。

无法执行目标io.fabric8:docker-maven-plugin:0.21.0:build window 10 home OR pro

集成Docker与Maven Docker Maven插件。 在Window 10家庭机器上,通过Maven获得Docker Run的问题。 用以下跟踪构build失败。 DOCKER> Cannot create docker access object [Cannot extract API version from server https://192.168.99.100:2376 : sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target] [INFO] Failed to execute goal io.fabric8:docker-maven-plugin:0.21.0:build (default- cli) on project fleetman: Cannot create docker access object: Cannot extract API […]

使用dockerfile-maven-plugin标记创build的图像

我正在使用dockerfile-maven-plugin和以下configuration: <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <executions> <execution> <id>build-image</id> <goals> <goal>build</goal> </goals> <configuration> <tag>latest</tag> <repository>root/${project.artifactId}</repository> <buildArgs> <APP_NAME>${project.artifactId}</APP_NAME> </buildArgs> </configuration> </execution> <execution> <id>push-image</id> <goals> <goal>push</goal> </goals> <configuration> <repository>${docker.registry.url}/root/${project.artifactId}</repository> </configuration> </execution> </executions> </plugin> 项目部署因以下原因失败: [INFO] The push refers to a repository [my-repository:9090/root/image-name] [ERROR] An image does not exist locally with the tag: my-repository:9090/root/image-name [WARNING] An attempt failed, will […]

将本地Maven存储库共享给Jenkins Pipeline中的代理

我在使用Pipeline的Jenkins文件遇到了难题。 我有一个在docker集装箱和其他Jenkins奴隶,也是docker集装箱和一些虚拟机(例如,Windows 10)运行的jenkins大师。 我在Git中作为第一阶段和后续阶段执行代码签出。 舞台名称“Build”执行Maven工件的生成。 我使用一个docker镜像构build我的项目(基于Maven和Java 9), 无需在主机和容器之间共享任何卷。 我使用stash / unstash函数传递源代码。我也使用maven-pipeline插件和withMaven(mavenLocalRepo: '') 我想在testing阶段将我在一个代理上构build的代码分享给其他代理,但是看起来在这一点上,存储库的存储不起作用(它说:'没有文件存储'),我不能部署到一个中央Maven仓库(我使用Nexus),因为有许多可能的并发构build,部署可能是不安全的。 我该如何解决这个问题? pipe道示例: pipeline{ agent none stages{ stage('Checkout Repository'){ agent { node { label 'master' } } steps{ checkout scm stash includes: 'project/', name 'project' } } stage('Build'){ agent { node { label 'docker-app-builder' } } steps{ unstash "project" withMaven(mavenLocalRepo: ".repository"){ sh 'mvn […]

如何在另一个Jenkins声明式pipe道阶段使用mvn包生成的Jar?

我试图与jenkinsMaven项目build立CI / CDpipe道。 我似乎无法find任何体面的例子,如何在另一个Jenkins声明式pipe道阶段使用由mvn包生成的.jar文件。 我需要将jarfile upload到docker-registry之前创build一个docker-image。 这是我的相关部分jenkinsfile: pipeline { agent none stages{ stage('Build Jar'){ agent { docker { image 'maven:3-alpine' args '-v /root/.m2:/root/.m2' } } steps { sh 'mvn package' stash includes: 'target/*.jar', name: 'targetfiles' } } stage('Deploy') { agent { node { label 'DockerDefault' } } steps { script{ def image = docker.build("image-name:test", ' […]

Kafka Docker和从9092到9093的端口转发

我已经通过maven docker插件https://dmp.fabric8.io/configuration了Kafka + ZooKeeper: <image> <name>wurstmeister/zookeeper:latest</name> <alias>zookeeper</alias> <run> <ports> <port>2181:2181</port> </ports> </run> </image> <image> <name>wurstmeister/kafka:1.0.0</name> <alias>kafka</alias> <run> <ports> <port>9092:9092</port> </ports> <links> <link>zookeeper:zookeeper</link> </links> <env> <KAFKA_ADVERTISED_HOST_NAME>127.0.0.1</KAFKA_ADVERTISED_HOST_NAME> <KAFKA_ZOOKEEPER_CONNECT>zookeeper:2181</KAFKA_ZOOKEEPER_CONNECT> </env> </run> </image> 在这个configuration上,一切工作正常。 现在我需要将Kafka端口(主机系统的转发端口)从9092更改为9093 。 在我的Spring Boot应用程序的application.properties中,我添加了以下行: spring.kafka.bootstrap-servers=127.0.0.1:9093 还将Kafka图像的configuration更改为: <image> <name>wurstmeister/kafka:1.0.0</name> <alias>kafka</alias> <run> <ports> <port>9093:9092</port> </ports> <links> <link>zookeeper:zookeeper</link> </links> <env> <KAFKA_ADVERTISED_HOST_NAME>127.0.0.1</KAFKA_ADVERTISED_HOST_NAME> <KAFKA_ZOOKEEPER_CONNECT>zookeeper:2181</KAFKA_ZOOKEEPER_CONNECT> </env> </run> </image> 并面临以下错误: 2017-11-22 18:18:16.453 […]