Выталкивание Jar в github, когда сборка Jenkins удалась - PullRequest
0 голосов
/ 13 марта 2012

У меня есть простая сборка Jenkins, которая срывает мой проект с github, собирает его и сообщает о состоянии сборки.

Я хочу настроить Jenkins для публикации результирующего файла JAR в ветке TARGET-SNAPSHOTS в моем проекте.

В настоящее время мой проект .gitignore's / target / *

Я смотрел на GitPublisher, но, похоже, это выталкивает всю сборку, а не только файл jar.

Мысли о лучшем способе сделать это / если это возможно?

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Я думаю, у вас есть много возможностей. Одним из них является запуск скрипта после сборки. Это может быть написано в оболочке.

См. Задание после сборки

Простой скрипт:

find . -name "*.jar" -exec scp {} user@myhost.com:/path/for/build/${BUILD_TAG} \;

Другое:

Опубликовать поверх ... (ssh, ftp, cifs)

1 голос
/ 15 марта 2012

Поскольку вы используете maven, и вы сказали, что раздел загрузок github приемлем, вы можете использовать плагин загрузок github - https://github.com/github/maven-plugins. Я использую его для развертывания Java-клиента Riak в нашем разделе загрузок, как частьbuild.

В вашем ~ / .m2 / settings.xml вам нужно:

<settings>
  <profiles>
    <profile>
      <id>github</id>
      <properties>
        <github.global.userName>YourGithubUser</github.global.userName>
        <github.global.password>YourGithubPass</github.global.password>
      </properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>github</activeProfile>
  </activeProfiles>
</settings>

Затем в вашем проекте .pom что-то вроде:

<profile>
  <id>githubUpload</id>
  <activation>
    <property>
      <name>github.downloads</name>
      <value>true</value>
    </property>
  </activation>
  <build>
    <plugins>
      <plugin>
        <groupId>com.github.github</groupId>
        <artifactId>downloads-maven-plugin</artifactId>
        <version>0.4</version>
        <configuration>
          <description>${project.version} release of ${project.name}</description>
          <override>false</override>               
          <includeAttached>true</includeAttached>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>upload</goal>
            </goals>
            <phase>install</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</profile>

(Я делаю это как часть фазы установки - вы можете делать все, что захотите)

Затем просто добавьте -Dgithub.downloads=true в вашу сборку maven -

mvn install -Dgithub.downloads=true

На веб-странице плагина перечислены все опции для включения / исключения файлов и т. Д.

...