小编use*_*152的帖子

maven-release-plugin 准备与执行

我希望在 Jenkins 中设置发布工作。我们使用 Jenkins、Maven 3 和 Perforce 进行源代码控制,使用 Nexus 进行存储库管理。

我已经设置了带有 Maven 目标 release:prepare 和 release:perform 的作业,但是我注意到构建时间加倍,因为编译和测试都发生了两次。我目前对 maven-release-plugin prepare 和 perform 目标的理解如下:

maven-release-plugin 准备:

  1. 确保不对工作区中的文件进行本地修改
  2. 编辑 POM 以设置发布版本
  3. 执行默认为clean verify确保代码可以编译并通过测试的准备目标。
  4. 提交修改后的 POM
  5. 创建 VCS 标签
  6. 将 POM 的版本增加到下一个开发版本并将这些 POM 提交给 VCS

此外,还创建了一个 release.properties 文件,其中包含 VCS 标记以及发布和开发版本信息

maven-release-plugin 执行

  1. 使用 VCS 标记从 release.properties 到目标/检出的默认位置检出源代码的新副本
  2. 执行deploy/ 的目标deploy-site取决于项目是否有 distributionManagement

因此,为了停止将构建时间加倍并保持构建完整性,我正在考虑执行以下操作:

  1. 使 jenkins 从源存储库中检出最新源代码的新副本
  2. 将发布插件的准备目标配置元素配置为 clean deploy
  3. 赶紧跑 release:prepare

有了上述内容,我想我可以将这两个(prepareperform)合并为一个步骤,并节省构建周转时间。我们通常总是使用一个构建环境来构建一个堆栈(Java 6 等),因此只要代码在准备步骤中成功编译并通过测试,就可以将工件部署到 Nexus。

我主要是寻找相反的想法,上面可能会出错,这样我就可以从我的眼睛看不见的东西中拯救出来。 …

maven-release-plugin jenkins

5
推荐指数
1
解决办法
6479
查看次数

使用 Auto Scaling Groups、CloudFormation 和 CodeDeploy 的蓝/绿部署

我尝试通过复制 AutoScalingGroup 来设置蓝/绿部署,但是这会使 CloudFormation 堆栈与其原始资源分离,因为 CodeDeploy 创建新副本并删除原始资源。我从另一篇文章 ( https://forums.aws.amazon.com/thread.jspa?messageID=861085 ) 中了解到 AWS 正在为此开发改进,但是现在我正在尝试以下解决方法。任何想法都会非常有帮助。

CloudFormation 创建以下内容:

  • 弹性负载均衡器
  • 目标组
  • AutoScalingGroup 一(带有 LaunchConfiguration)
  • AutoScalingGroup 2(与 1 相同,但没有实例)
  • 部署组(使用就地部署样式)将修订部署到 AutoScalingGroup One

CloudFormation 完成后,我在控制台中手动执行以下操作:

  1. 我将创建的部署组更新为部署样式蓝/绿,并将其原始环境设置为 AutoScalingGroup One。
  2. 我将一个实例添加到 AutoScalingGroup 二
  3. 我在 CodeDeploy 中创建了一个部署。但是,这不起作用,因为当新实例附加到 AutoScalingGroup Two 时,它会立即添加到 TargetGroup 并且不会通过运行状况检查。

关于如何使用 CloudFormation 实施一组资源以简化蓝绿色部署的任何想法,即单击 CodeDeploy 并且 CloudFormation 资源仍然保持不变?

amazon-web-services aws-cloudformation autoscaling aws-code-deploy

5
推荐指数
1
解决办法
2113
查看次数

Fargate 容器引用内部本地主机

我有一个具有单个容器定义的 AWS 任务。然而,使用的 Docker Image 实际上运行 3 个进程。现在我知道这不是最佳实践,但是,这就是我正在处理的情况。

我面临的问题是容器中的一个进程需要访问另一个内部进程。本质上,容器内的一个 java 应用程序需要使用“localhost”对同一容器内的 Spring Boot 应用程序进行 HTTP 调用。

在本地运行 docker 镜像时没有问题。但是,当使用 Fargate 在 AWS ECS 中部署为任务时,无法建立此连接。有任何想法吗...

docker aws-fargate

5
推荐指数
1
解决办法
380
查看次数

在IntelliJ中编辑运行时类路径以包含src/main/config

我使用Maven和Spring在IntelliJ 12中编写了一个Java应用程序.我有以下文件夹:

src/main/java:用于Java代码

src/main/resources:用于打包到最终构建的JAR的资源

src/main/config:用于外部资源,即spring配置文件.

我已经尝试将src/main/config设置为sources文件夹,但是,在运行我的应用程序时,它在以下行中出现FileNotFoundException失败:

new ClassPathXmlApplicationContext("spring-config.xml");
Run Code Online (Sandbox Code Playgroud)

spring-config.xml坐在src/main/config里面.

另外,我注意到这个文件没有被复制到"Make"构建项目时intelliJ生成的目标目录.

现在我正在使用FileBasedApplicationContext进行测试,但是能够从intelliJin中运行应用程序而不必编辑代码会很好.

谢谢

java classpath intellij-idea

3
推荐指数
1
解决办法
2806
查看次数