GitでMaven3.0.3を使用しています。統合ツール(Bamboo)を使用して、Gitからディレクトリへのコードのブランチをチェックアウトします。次に、ツールはMavenを使用して、標準のビルドライフサイクル(コンパイル、テスト、デプロイ)を実行します。私が欲しいのは、Mavenデプロイタスクが成功した場合、Gitでチェックアウトされているコードのバージョンにタグを付けたいということです。 Mavenからこれを行うにはどうすればよいですか?提供できるサンプル構成は大歓迎です。
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>
Maven-release-pluginはこれを行うことができます-ここで例を参照してください: http://maven.Apache.org/plugins/maven-release-plugin/examples/prepare-release.html
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