如何通过Rultor将Maven工件部署到CloudRepo
在我以前的文章中 ,我描述了如何在Amazon S3中設(shè)置私有Maven存儲庫并通過Rultor進行部署。 如果您熟悉管理Amazon Web Services(AWS), S3和AWS Identity and Access Management(IAM)的話,這是一個很好的解決方案。 但是,如果您不習(xí)慣管理一個AWS賬戶和所有相關(guān)權(quán)限,則可能希望將Apache Maven Artifacts存儲在某個基于云的存儲庫管理器中。 這是讓Rultor將Maven依賴項部署到CloudRepo的方法 。 我與創(chuàng)始人Chris Shellenbarger一起寫了這篇博客。
存儲庫管理器和S3都將允許您的構(gòu)建工具在遠程存儲庫或存儲桶中存儲和檢索軟件庫。 但是,存儲庫管理器會處理許多您需要使用S3解決方案進行管理的工作。
盡管AWS相當(dāng)強大,并且可以配置為執(zhí)行存儲庫管理器可以做的所有事情,但是當(dāng)您選擇完全托管的解決方案時,有些用例可以直接使用,例如:用戶/組管理,Maven特定視圖,Webhooks,通知,訪問和審核日志,完全托管的安全性等。簡單地說,它們不僅是JAR文件的存儲,還包括云中的Maven存儲庫。
假設(shè)您已經(jīng)使用CloudRepo創(chuàng)建了一個帳戶并設(shè)置了用戶和maven存儲庫 ,則在客戶端上部署到CloudRepo需要執(zhí)行兩個步驟:1)使用憑據(jù)配置settings.xml文件,以及2)將存儲庫添加到pom.xml文件的<distributionManagement>部分。
settings.xml文件的默認(rèn)位置在~/.m2目錄中。 編輯此文件,并確保您具有一個<server>條目,如下所示:
<settings> <servers> <server> <id>io.cloudrepo</id> <username>yegor256 @gmail .com</username> <password>my-secret</password> </server> </servers> </settings>通過聲明server并指定id ,您可以在Maven POM文件中引用該id 。 當(dāng)Maven嘗試針對服務(wù)器進行身份驗證時,它將在settings.xml文件中尋找相應(yīng)的密鑰。
如果您擔(dān)心將密碼以明文形式存儲在文件系統(tǒng)中,請檢查Maven 建議如何解決該問題。
現(xiàn)在已經(jīng)設(shè)置了憑據(jù),您必須將pom.xml指向CloudRepo存儲庫。 將新的<repository>元素添加到pom.xml的<distributionManagement> (要上傳)元素和<repositories> (要下載它們):
<project> [...] <repositories> <repository> <id>io.cloudrepo</id> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </repositories> [...] <distributionManagement> <repository> <id>io.cloudrepo</id> <name>CloudRepo Maven Repository</name> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </distributionManagement> </project>在本地環(huán)境中運行了構(gòu)建后,您需要使用Rultor將其部署到生產(chǎn)中。 首先,您需要將憑據(jù)存儲在Git中,以便Rultor可以在構(gòu)建和部署時訪問它們。 但是, 絕對不要在版本控制中以明文形式存儲您的憑據(jù)(用my/project替換GitHub項目的名稱)是非常重要的:
$ gem install rultor $ rultor encrypt -p my/project settings.xml這將創(chuàng)建一個名為settings.xml.asc設(shè)置文件的加密版本。 將此文件添加到項目的根目錄,然后提交并推送。 很安全 只有Rultor擁有解密此文件的密鑰,因此即使您的源代碼暴露給他人,您的憑據(jù)也將保持安全。
要啟用Rultor,請將.rultor.yml文件添加到項目的根目錄中,其中包含以下內(nèi)容:
decrypt: settings.xml: "repo/settings.xml.asc" deploy: script: | mvn clean deploy --settings ../settings.xml有關(guān).rultor.yml文件的更多信息,請檢查“ Rultor參考頁” 。
現(xiàn)在,所有內(nèi)容都已配置完畢,您應(yīng)該能夠通過執(zhí)行@rultor deploy命令使用Rultor部署到CloudRepo。 等待響應(yīng),Rultor會處理所有剩余的工作。
而已!
翻譯自: https://www.javacodegeeks.com/2019/02/deploy-maven-artifacts-cloudrepo-rultor.html
總結(jié)
以上是生活随笔為你收集整理的如何通过Rultor将Maven工件部署到CloudRepo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防御ddos关闭哪些端口(防御ddos关
- 下一篇: 布线问题分支限界法java_大型布线:J