标签: continuum

Maven发布:准备:由于您进行了本地修改,因此无法准备发布

我正面临连续体发布的问题:准备阶段在scm-check-modification步骤中失败并出现错误:

[错误] org.apache.maven.shared.release.ReleaseFailureException:无法准备发布,因为您有本地修改:[pom.xml:modified]

我做了什么 :

  1. 我将所有更改(*.java和pom.xml)提交到SVN
  2. 我在Continuum中构建了这个项目
  3. 我发布了该版本的准备工作.

我知道scm-check-modification调用ScmCheckModificationsPhase类来验证与SCM上的内容相比没有本地更改.

我理解,如果我只使用Maven,如果有一些本地更改,或者本地代码和SVN之间的任何差异,例如,release:prepare将不起作用,因为它首先检查修改; 但是使用Continuum,我不知道为什么它应该是本地代码和SVN存储库之间的差异?所以我不知道为什么发布:Continuum的准备目标正面临着这个问题.

我的pom示例:

    <build>
      <plugins>
    ...
       <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
                <useReleaseProfile>false</useReleaseProfile>
          </configuration>
       </plugin>

    ...     
      </plugins>

    </build>


<scm>
  <connection>scm:cvs:ext:url:/var/cvs:application_name</connection>         <developerConnection>scm:cvs:ext:url:/var/cvs:application_name</developerConnection>
</scm>

.....
</project>
Run Code Online (Sandbox Code Playgroud)

在父pom.xml中:

...
    <pluginManagement>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.2.2</version>
          <configuration>
            <useReleaseProfile>false</useReleaseProfile>
            <goals>deploy</goals>
            <arguments>-Prelease</arguments>
          </configuration>
        </plugin>
.....
Run Code Online (Sandbox Code Playgroud)

有关信息,项目的构建和发布始终正常,直到现在.

有一个绕道解决方案解决了我的问题,但我仍然想了解这个问题的根源.

旁路解决方案:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.2.2</version>
  <configuration>
    ...
    <checkModificationExcludes>
      <checkModificationExclude>pom.xml</checkModificationExclude>
    </checkModificationExcludes>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

continuum maven maven-release-plugin

9
推荐指数
4
解决办法
3万
查看次数

Continuum作为Jenkins的替代品?

在我们公司,我们正在对Java Development/QA street中的产品进行批判性研究.我们正在研究的产品之一是Apache Continuum.

具有Continuum经验的人(最好还有Jenkins经验)可以解释Apache Continuum的优点和缺点(特别是关于Jenkins)吗?

我的第一印象是:

好处:

  • 更适合分组构建和项目(从UI角度).

缺点:

  • 没有明确的仪表板.
  • 一个相对较小的社区.
  • 没有插件(对吗?).

java continuous-integration continuum jenkins

8
推荐指数
1
解决办法
7839
查看次数

最佳实践:多项目中的版本控制和发布

在以下情况下,对于多项目,版本控制和发布管理的最佳实践是什么?

项目结构

  • 全球父母
    • 父项目(版本:1.0-SNAPSHOT)
      • 子项目1(和父母一样)
      • 子项目2(和父母一样)
      • 子项目3(和父母一样)
      • 子项目4(和父母一样)
      • ...

我只想为父项目和所有子项目设置一次版本,因为项目的每个部分必须具有相同的版本.

我想要的是,用continuum/maven发布项目.

目前的"坏"解决方案:

Normaly一个简单的方法应该是在父pom中设置版本并在每个孩子中说"父母的最后一个版本",但这不适用于maven <3.1(见这里)[http://jira.codehaus.org/browse/ MNG-624]现在我在每个子项目中设置父项目的版本,并且对于每个版本,我必须更改所有子项和父项的版本.

例:

<groupId>com.test</groupId>
<artifactId>com.test.buildDefinition</artifactId>
<version>1.0-SNAPSHOT</version>
Run Code Online (Sandbox Code Playgroud)

儿童

<parent>
    <groupId>com.test</groupId>
    <artifactId>com.test.buildDefinition</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

<groupId>com.test</groupId>
<artifactId>com.test.project</artifactId>
<version>${parent.version}</version>
Run Code Online (Sandbox Code Playgroud)

如果我想现在使用Continuum发布我的项目,我使用以下顺序来释放它:

  1. 家长项目
  2. 儿童项目1
  3. 儿童项目2
  4. ...

但这不起作用,因为在更改父版本之后,孩子们在父母中不再有SNAPSHOT版本,我认为必须有更好的方法来发布连续体的多项目.

java dependencies release continuum maven

8
推荐指数
1
解决办法
475
查看次数

使用 Jenkins 进行发布管理有哪些选项

我正在评估像 Jenkins 和 Apache Continuum 这样的构建引擎。我们的大部分构建使用 Maven。Jenkins 中有哪些用于发布管理的选项?

我所说的发布管理是指从源代码管理中的分支创建发布,然后在 Maven 中更新版本标记的过程。例如,如果我的 Maven 项目(父+子子项目)当前是 5.5-SNAPSHOT 版本,我想告诉 Jenkins 检查、构建和测试这个分支的最新版本,并将 POM 更新到版本 5.5 . 然后,它应该在 5.6-SNAPSHOT 版本的源代码管理中创建一个新分支,并相应地更新这个新分支上的所有 POM。

Apache Continuum,我相信它是由 Sonatype 开发的,它是 Maven 背后的同一个团队,具有此发布管理功能。我看过Jenkins的一个插件叫Artifactory Plugin,好像要求仓库管理器是Artifactory。Jenkins 还可以使用哪些其他发布管理选项?最佳做法是什么?

谢谢,

史蒂夫·所罗门 stev.solomon@gmail.com

release-management continuum maven jenkins jenkins-plugins

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

Pygal 子图(几个数字)

我想在 python 2.7 上使用 Pygal 创建一个仪表板(同一窗口中的几个图),但后者没有 subplot 功能,是否有解决方案,不使用散景或绘图?

Matplotlib 上的示例:

fig, axes = plt.subplots(ncols=4, nrows=5, figsize=(35,20))
for ax in axes.flatten():
    ax.plot([2,3,5,1])
plt.show()
Run Code Online (Sandbox Code Playgroud)

Pygal 上有类似的东西吗?

python matplotlib continuum pygal anaconda

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