Tag: maven

Maven在Mac上与Docker守护进程进行通信的正确设置是什么?

我一直试图在我的Mac上构build我的Maven Spring Boot项目的Docker镜像。 这是我的构build部分: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>my-image</image> <newName>registry.example.com/my-image</newName> </configuration> </execution> </executions> </plugin> </plugins> </build> 当我运行这个命令: […]

如何从Docker容器中访问私有Maven回购?

我们有许多用clojure编写的web服务,而且我们也有一些内部的共享依赖关系,我们保留在一个私有的maven仓库中。 Leiningen需要一个encryption的凭证文件,目前我们的每个开发人员都有自己的私钥,这些私钥在运行时用来解密凭证。 我试图迁移到容器,使部署和入职更容易,但马上我遇到了问题,从容器内lein run不能访问我的gpg键,这当然是在容器之外。 我设法使用docker run bash在容器内部生成一个密钥,并使用它来encryption凭据,但这不会扩展,因为我必须将未encryption的凭据保留在项目目录中。 我不确定最好的path是什么 – 我怎样才能安全地从私人回购拉动?

持续集成 – 只部署更改的组件

我在java中有以下组件,每个都是一个单独的maven模块: 尤里卡服务器 Zuul代理 微服务#1 这些组件中的每一个都是独立的Docker镜像,它们共享一个相同的Git仓库。 jenkins也可用。 我的问题是,当更改单个组件来重builddocker镜像并部署它,而不是重新部署所有东西时,这是可能的。 CI的常见做法是什么? 我想过这个,可能的办法是将模块分离到不同的git仓库中,并在主项目中使用git子模块,有没有更好的方法来实现这个(maven / jenkins或docker)?

在TFS中设置docker代理

我们在组织中使用TFS,并通过shell脚本pipe理我们的整个构build(这不是很好)… 我们的代理安装了docker,我们在docker里运行我们的构build脚本。 我们有几个Maven,Gradle,NodeJs的图片,因为我们使用Docker,所以我们不能使用maven插件。 我想知道,如果我仍然可以在docker上运行的Maven插件好处吗?

如何在docker maven中build立一个jar到我的本地仓库

我使用maven的docker镜像来构build这个自定义Scribe,简单的OAuth Java库 抄写OAuth Java库 [INFO] Installing /usr/src/app/target/scribe-1.2.3.oauth.jar to /root/.m2/repository/org/scribe/scribe/1.2.3.oauth/scribe-1.2.3.oauth.jar [INFO] Installing /usr/src/app/pom.xml to /root/.m2/repository/org/scribe/scribe/1.2.3.oauth/scribe-1.2.3.oauth.pom [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 17.309 s [INFO] Finished at: 2017-01-26T15:06:12+00:00 [INFO] Final Memory: 16M/41M [INFO] ———————————————————————— 使用这个 docker build -t my-maven . 图像构build完美地创build了scribe-1.2.3.oauth.jar。 但是我需要这个jar文件来构build下面的项目 Alfresco分享OAuth SSO支持 我如何从第一个构build获取jar文件,并在本地存储库中使用它,以便在我的下一个构build中再次使用docker maven构build该项目

如何在Maven插件中使用angular 2来debuggingjava,在docker中使用tomee

我有一个项目与2 maven插件。 插件是在Java中。 另一个插件是angular2。 在这2个maven插件是docker工人。 在docker容器中,tomee和mysql运行。 我想通过点击http://localhost:8080/mywebapp来debuggingjava的前端,系统应该在我设置在后端(java文件)的中断点停止。 我正在使用IntelliJ。 有人知道该怎么做吗?

Docker – 对执行和音量的误解

我的宠物项目中有一个如下的Dockerfile: FROM java:8 ADD target/sources-registry-0.0.1-SNAPSHOT.jar sources-registry.jar RUN bash -c 'touch /sources-registry.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/sources-registry.jar"] EXPOSE 8761 而且一切都很完美 – 图像被创build并可以运行。 现在介绍一下这个项目:这是一个基于maven的项目,在实际执行Dockerfile之前,我必须手动运行mvn package 。 但是,如果我将Dokerfile更改为(因为我不想手动运行mvn package并想自动运行它) FROM java:8 RUN ls target RUN ./mvnw package ADD target/sources-registry-0.0.1-SNAPSHOT.jar sources-registry.jar RUN bash -c 'touch /sources-registry.jar' #ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/sources-registry.jar"] EXPOSE 8761 然后执行时,我得到/bin/sh: 1: ./mvnw: not found 。 但是, mvnw在我的项目文件附近的pom.xml 。 更多,如果我只是跟随Dockerfile FROM java:8 […]

如何使docker失败或检查版本存在

我有maven运行bash来与Docker构build一些东西。 <plugin> … <artifactId>maven-antrun-plugin</artifactId> … <exec executable="${basedir}/generate.sh" failonerror="true"> <arg value="${thrift.version}" /> … bash脚本运行如下所示: for file in src/main/thrift/*.thrift; do echo "Compiling ${file}" docker run {…} thrift:${THRIFT_VERSION} thrift {…} done 我的问题是,当Docker无法find我请求的版本时,它在控制台中显示错误,但它不会“失败”:它只是不断的build立。 [exec] Compiling src/main/thrift/amsException.thrift [exec] docker: Tag 0.9.0 not found in repository docker.io/library/thrift. [exec] See 'docker run –help'. [exec] Unable to find image 'thrift:0.9.0' locally 因此maven说 [INFO] […]

如何在父映像命令之前运行子Docker镜像命令

我有一个jenkins父母的图像,我在一个孩子的图像添加maven。 对于Maven代理,我需要更改setting.xml以从环境variables复制数据。 在子图像中,我可以添加shell脚本来更改settings.xml,然后从Jenkins父图像运行入口点。 但是,我必须跟踪父Jenkins图像中的任何更改。 在Docker中有没有办法引用父级cmd /入口点,或者直接在父级cmd上添加一些命令?

如何在Jenkinspipe道中获取Maven版本

我正在与Jenkins一起创buildCIpipe道。 需要使用项目的Maven版本来标记Docker镜像,例如0.0.1-SNAPSHOT 。 虽然,基于这个Jenkins问题 ,maven版本被暴露为POM_VERSION ,但它似乎只适用于“Maven项目”。 我试图在Pipeline的Jenkins文件中使用这个variables作为${POM_VERSION}并且它不能识别这个属性。 获得版本号的最佳方法是什么? parsingpom.xml并用bash脚本grep版本并在Jenkinsfile调用它?