我有一個簡單的Jenkins構建,它從github上拉下我的項目,構建它並報告構建的狀態。Jenkins構建成功時將Jith推送到github
我想配置Jenkins將生成的JAR文件發佈到我項目中的TARGET-SNAPSHOTS分支。
目前我的項目的.gitignore的/目標/ *
我看着GitPublisher但這似乎推動整個構建出來的,而不是僅僅的jar文件。
有關如何做到這一點的最佳方法的思考/如果可能的話?
謝謝
我有一個簡單的Jenkins構建,它從github上拉下我的項目,構建它並報告構建的狀態。Jenkins構建成功時將Jith推送到github
我想配置Jenkins將生成的JAR文件發佈到我項目中的TARGET-SNAPSHOTS分支。
目前我的項目的.gitignore的/目標/ *
我看着GitPublisher但這似乎推動整個構建出來的,而不是僅僅的jar文件。
有關如何做到這一點的最佳方法的思考/如果可能的話?
謝謝
由於您使用Maven和你說的github上下載部分是可以接受的,你可以使用github下載插件 - https://github.com/github/maven-plugins。作爲構建的一部分,我將它用於將Riak java客戶端部署到我們的下載部分。
在你的〜/ .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
該插件的網頁列出了包括/排除文件中的所有選項等
我覺得你有很多的可能性。其中之一是運行生成後腳本。它可以寫成是shell。
簡單腳本:
find . -name "*.jar" -exec scp {} [email protected]:/path/for/build/${BUILD_TAG} \;
其他:
我會試試看 - 我沒有意識到你可以SCP到github。謝謝 – empire29 2012-03-15 02:12:06
您正在使用Maven來構建你的項目? – 2012-03-12 20:45:29
您是否想要將文件添加到現有的回購站並推送更改或將文件添加到GitHub的下載部分? – 2012-03-12 23:30:03
@brian - 是的 - 我正在使用maven來構建我的項目。 – empire29 2012-03-15 02:09:02