web-dev-qa-db-ja.com

Maven、Gitの使用:コードの最新バージョンにタグを付けるにはどうすればよいですか?

GitでMaven3.0.3を使用しています。統合ツール(Bamboo)を使用して、Gitからディレクトリへのコードのブランチをチェックアウトします。次に、ツールはMavenを使用して、標準のビルドライフサイクル(コンパイル、テスト、デプロイ)を実行します。私が欲しいのは、Mavenデプロイタスクが成功した場合、Gitでチェックアウトされているコードのバージョンにタグを付けたいということです。 Mavenからこれを行うにはどうすればよいですか?提供できるサンプル構成は大歓迎です。

13
Dave

maven scmプラグイン を使用します。 高度な機能のタグ機能 を参照してください。これは関連するはずです。

現在、gitサポートはすぐには使用できないため、 maven-scm-provider-gitexe への依存関係が必要になります。また、 神経叢例外の問題 を克服するには、新しいバージョンの神経叢への依存関係を追加する必要もあります。

これは私のために働いたものです:

<project>
    <scm>
      <connection>scm:git:https://[email protected]/my-project.git</connection>
      <developerConnection>scm:git:https://[email protected]/my-project.git</developerConnection>
    </scm>
    <!-- snip -->
    <build>
      <plugins>
       <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-scm-plugin</artifactId>
         <dependencies>
            <dependency>
               <groupId>org.codehaus.plexus</groupId>
               <artifactId>plexus-utils</artifactId>
               <version>2.1</version>
            </dependency>
            <dependency>
               <groupId>org.Apache.maven.scm</groupId>
               <artifactId>maven-scm-provider-gitexe</artifactId>
               <version>1.2</version>
           </dependency>
         </dependencies>
        <version>1.0</version>
        <configuration>
          <tag>test</tag>
          <connectionType>connection</connectionType>
        </configuration>
        <executions>
          <execution>
          <id>tag</id>
          <phase>deploy</phase>
          <goals>
            <goal>tag</goal>
          </goals>
          </execution>
        </executions>
       </plugin>
     </plugins>
    </build>
    <!-- snip -->
</project>
7
eis

Maven-release-pluginはこれを行うことができます-ここで例を参照してください: http://maven.Apache.org/plugins/maven-release-plugin/examples/prepare-release.html

2
rayd

maven-release-pluginはscmを宣言するだけで済みます:

<scm>
    <url>https://github.com/username/repoName</url>
    <connection>scm:git:git://github.com/username/repoName.git</connection>
    <developerConnection>scm:git:[email protected]:username/repoName.git</developerConnection>
    <tag>HEAD</tag>
</scm>

gitsshキーを生成する

https://help.github.com/articles/generate-ssh-keys/

そして実行mvn release:prepare

詳細 https://github.com/kevinsawicki/github-maven-example

1
Edoardo