2016-09-14 127 views
0

我正在處理大量項目,這些項目都是大型項目(管道)的一部分,因此需要經常一起進行測試。手動測試並不如他們應該做的那麼好,所以我決定在將來使用Gradle + Jenkins CI來運行測試。我的第一個測試是成功的,單元測試等運行良好,Jenkins構建了我想要部署得很好的JAR文件。由於我所有的項目都是開源的,並且可以在GitHub上使用,所以我很想設置在各個(子)項目的GitHub發佈頁面上發佈,例如,是這樣的:Gradle/Jenkins JAR發佈到GitHub

  • 我發展,犯了一個Git標籤
  • 詹金斯通過掛鉤看到這個,運行搖籃腳本來構建的東西,一旦試驗成功發佈在我的項目中創建一個新的JAR文件在GitHub上發佈版本

不幸的是,這不像預期的那樣工作,例如使用Plugin here,例如只推送打包的源代碼而不是JAR文件。否則,這工作得很好,我可能只是監督一些事情?

有人有這方面的經驗嗎?

+1

爲什麼您需要將生成的JAR文件與您的代碼一起推送到您的Git存儲庫中?請注意,在您的Git倉庫中推送大量文件(如jar)並不是一個好習慣,您應該將它們發送到其他地方,也可以放在Repository Manager(例如[Artifactory])中(https://www.jfrog.com/open-源/)... – Pom12

+0

嗨Pom12 - 我覺得我的第一個評論不夠具體:我不想提交我的內置JAR文件到我自己的倉庫,而是使用例如GitHub上項目的「Release」部分爲最終用戶發佈JAR文件。當然,我可以依賴Bintray,但我寧願將我構建的JAR推送到項目特定版本部分,以便爲最終用戶提供更好的可見性。 – w3b1x

回答

0

我想你錯了什麼Github release是。從Github的角度來看,釋放並不是一個你要部署你的arfifact的文件夾(例如你的內置Jar),但基本上只是一個指向某個提交的Git標記,並且說「好吧,我認爲這個提交d215465454是我的版本1.2.3「。它只是一個指向提交的指針,因此您可以隨時查找任何特定「發佈」的Git歷史記錄。有關更多信息,請參閱Git excellent Tagging documentation

此外,您可能不應該將實際的jar暴露給最終用戶。相反,您可以依靠Bintray或Artifactory來部署實際的jar工件,並且最終用戶可以配置他們的gradle構建文件以依賴於您的jar。