413 lines
14 KiB
XML
413 lines
14 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>plugin</artifactId>
|
|
<version>2.3</version>
|
|
</parent>
|
|
|
|
<properties>
|
|
<jenkins.version>1.609.3</jenkins.version>
|
|
<hpi-plugin.version>1.115</hpi-plugin.version>
|
|
<jenkins-test-harness.version>${jenkins.version}</jenkins-test-harness.version>
|
|
<findbugs.failOnError>false</findbugs.failOnError>
|
|
</properties>
|
|
|
|
<artifactId>gitee</artifactId>
|
|
<version>1.0.12-SNAPSHOT</version>
|
|
<name>Gitee Plugin</name>
|
|
<description>This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee.</description>
|
|
<url>https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin</url>
|
|
<packaging>hpi</packaging>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>GPL v2.0 License</name>
|
|
<url>http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
|
|
</license>
|
|
</licenses>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>Yashin</id>
|
|
<name>Yashin Luo</name>
|
|
<email>Yashin.luo@foxmail.com</email>
|
|
</developer>
|
|
</developers>
|
|
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>maven.jenkins-ci.org</id>
|
|
<name>jenkinsci-releases</name>
|
|
<url>https://repo.jenkins-ci.org/releases</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>maven.jenkins-ci.org</id>
|
|
<name>jenkinsci-snapshots</name>
|
|
<url>http://repo.jenkins-ci.org/snapshots</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
|
|
<scm>
|
|
<connection>scm:git:ssh://github.com:jenkinsci/gitee-plugin.git</connection>
|
|
<developerConnection>scm:git:git@github.com:jenkinsci/gitee-plugin.git</developerConnection>
|
|
<url>https://github.com/jenkinsci/gitee-plugin</url>
|
|
<tag>HEAD</tag>
|
|
</scm>
|
|
<!--get every artifact through repo.jenkins-ci.org, which proxies all the artifacts that we need-->
|
|
<repositories>
|
|
<repository>
|
|
<id>repo.jenkins-ci.org</id>
|
|
<url>http://repo.jenkins-ci.org/public/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>jgit-repository</id>
|
|
<name>Eclipse JGit Repository</name>
|
|
<url>http://download.eclipse.org/jgit/maven</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>repo.jenkins-ci.org</id>
|
|
<url>http://repo.jenkins-ci.org/public/</url>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<build>
|
|
<defaultGoal>clean install</defaultGoal>
|
|
<directory>${project.basedir}/target</directory>
|
|
<outputDirectory>${project.build.directory}/classes</outputDirectory>
|
|
<finalName>${project.artifactId}-${project.version}</finalName>
|
|
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
|
|
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
|
|
<scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
|
|
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${project.basedir}/src/main/resources</directory>
|
|
</resource>
|
|
</resources>
|
|
<testResources>
|
|
<testResource>
|
|
<directory>${project.basedir}/src/test/resources</directory>
|
|
</testResource>
|
|
</testResources>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<!-- Jenkins dependencies -->
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>git</artifactId>
|
|
<version>2.4.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>git-client</artifactId>
|
|
<version>1.19.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
|
<artifactId>workflow-step-api</artifactId>
|
|
<version>1.15</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
|
<artifactId>workflow-job</artifactId>
|
|
<version>1.15</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>credentials</artifactId>
|
|
<version>2.1.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>plain-credentials</artifactId>
|
|
<version>1.1</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci</groupId>
|
|
<artifactId>symbol-annotation</artifactId>
|
|
<version>1.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jgit</groupId>
|
|
<artifactId>org.eclipse.jgit</artifactId>
|
|
<version>3.5.2.201411120430-r</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>matrix-project</artifactId>
|
|
<version>1.10</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>display-url-api</artifactId>
|
|
<version>1.1.1</version>
|
|
</dependency>
|
|
|
|
|
|
<!-- REST client dependencies -->
|
|
<dependency>
|
|
<groupId>org.jboss.spec.javax.ws.rs</groupId>
|
|
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
|
|
<version>1.0.0.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.resteasy</groupId>
|
|
<artifactId>resteasy-client</artifactId>
|
|
<version>3.0.16.Final</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.jaxrs</groupId>
|
|
<artifactId>jackson-jaxrs-json-provider</artifactId>
|
|
<version>2.6.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>2.6.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
<version>4.3.1</version>
|
|
</dependency>
|
|
|
|
<!-- util dependencies -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>18.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.karneim</groupId>
|
|
<artifactId>pojobuilder</artifactId>
|
|
<version>3.4.0</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- test dependencies -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.12</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-all</artifactId>
|
|
<version>1.3</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-all</artifactId>
|
|
<version>1.9.5</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-api-mockito</artifactId>
|
|
<version>1.6.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-module-junit4</artifactId>
|
|
<version>1.6.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mock-server</groupId>
|
|
<artifactId>mockserver-netty</artifactId>
|
|
<version>3.10.2</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcmail-jdk15on</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk15on</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcpkix-jdk15on</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>9.4.1208</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>integration-test</id>
|
|
<!--无需指定-->
|
|
<!--<properties>-->
|
|
<!--<gitlab.version>8.17.4</gitlab.version>-->
|
|
<!--<postgres.version>9.5-1</postgres.version>-->
|
|
<!--</properties>-->
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<version>2.16</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
<configuration>
|
|
<systemProperties>
|
|
<property>
|
|
<name>gitee.http.port</name>
|
|
<value>${gitee.http.port}</value>
|
|
</property>
|
|
<property>
|
|
<name>postgres.port</name>
|
|
<value>${postgres.port}</value>
|
|
</property>
|
|
</systemProperties>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.sonatype.plugins</groupId>
|
|
<artifactId>port-allocator-maven-plugin</artifactId>
|
|
<version>1.2</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>allocate-ports</goal>
|
|
</goals>
|
|
<configuration>
|
|
<ports>
|
|
<port>
|
|
<name>gitee.http.port</name>
|
|
</port>
|
|
<port>
|
|
<name>gitee.ssh.port</name>
|
|
</port>
|
|
<port>
|
|
<name>postgres.port</name>
|
|
</port>
|
|
</ports>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>io.fabric8</groupId>
|
|
<artifactId>docker-maven-plugin</artifactId>
|
|
<version>0.14.2</version>
|
|
<configuration>
|
|
<verbose>true</verbose>
|
|
<images>
|
|
<image>
|
|
<name>sameersbn/postgresql:${postgres.version}</name>
|
|
<alias>it-gitee-postgres</alias>
|
|
<run>
|
|
<namingStrategy>alias</namingStrategy>
|
|
<env>
|
|
<DB_NAME>giteehq_production</DB_NAME>
|
|
<DB_USER>gitee</DB_USER>
|
|
<DB_PASS>password</DB_PASS>
|
|
<DB_EXTENSION>pg_trgm</DB_EXTENSION>
|
|
</env>
|
|
<ports>
|
|
<port>${postgres.port}:5432</port>
|
|
</ports>
|
|
</run>
|
|
</image>
|
|
<image>
|
|
<name>sameersbn/redis</name>
|
|
<alias>it-gitee-redis</alias>
|
|
<run>
|
|
<namingStrategy>alias</namingStrategy>
|
|
</run>
|
|
</image>
|
|
<image>
|
|
<name>sameersbn/gitee</name>
|
|
<alias>it-gitee-gitee</alias>
|
|
<run>
|
|
<namingStrategy>alias</namingStrategy>
|
|
<links>
|
|
<link>it-gitee-postgres:postgresql</link>
|
|
<link>it-giee-redis:redisio</link>
|
|
</links>
|
|
<ports>
|
|
<port>${gitee.http.port}:80</port>
|
|
<port>${gitee.ssh.port}:22</port>
|
|
</ports>
|
|
<env>
|
|
<DEBUG>false</DEBUG>
|
|
<TZ>Asia/Kolkata</TZ>
|
|
<GITEE_TIMEZONE>Kolkata</GITEE_TIMEZONE>
|
|
<GITEE_PORT>${gitee.http.port}</GITEE_PORT>
|
|
<GITEE_SSH_PORT>${gitee.ssh.port}</GITEE_SSH_PORT>
|
|
<GITEE_SECRETS_DB_KEY_BASE>long-and-random-alpha-numeric-string</GITEE_SECRETS_DB_KEY_BASE>
|
|
<GITEE_SECRETS_SECRET_KEY_BASE>long-and-random-alphanumeric-string</GITEE_SECRETS_SECRET_KEY_BASE>
|
|
<GITEE_SECRETS_OTP_KEY_BASE>long-and-random-alpha-numeric-string</GITEE_SECRETS_OTP_KEY_BASE>
|
|
<GITEE_HOST>172.17.0.1</GITEE_HOST>
|
|
</env>
|
|
<wait>
|
|
<http>
|
|
<url>http://localhost:${gitee.http.port}/</url>
|
|
</http>
|
|
<time>120000</time>
|
|
</wait>
|
|
</run>
|
|
</image>
|
|
</images>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>start</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>build</goal>
|
|
<goal>start</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>stop</id>
|
|
<phase>post-integration-test</phase>
|
|
<goals>
|
|
<goal>stop</goal>
|
|
<goal>remove</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|