国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Nexus使用Api進行操作

2024-09-01 13:56:17
字體:
來源:轉載
供稿:網(wǎng)友

Nexus提供了RestApi,但是一部分Api仍然需要結合Groovy等進行操作,在3.3及其以后的版本上進行了強化,但是和普通的RestApi相比仍有一些“使用上的特性”。這篇文章以創(chuàng)建raw的repository為例,來確認一下相關的使用方法。

前提準備

準備可運行的Nexus,這里的版本為3.2.1

Nexus,Api

Api機制

這篇文章介紹的是Nexus3推出之初的Api的設計思路,主要是通過結合groovy腳本來完成相關的功能,簡單的來說需要用戶自行提供groovy腳本,nexus提供上傳和運行腳本的接口,雖然有些粗糙,但是大部分功能畢竟留出了一個方式供用戶去使用,強大的groovy腳本中至于需要實現(xiàn)什么樣的功能,那就看用戶自己的需要了。在一定程度上來說,算是一個能夠創(chuàng)造API的API

使用步驟

步驟1: 以json文件為載體,創(chuàng)建可運行的groovy腳本

格式大體如下:

{ "name": "腳本名稱", "type": "groovy", "content": "groovy語句"}

注意事項:

  • 注意雙引號和單引號的使用
  • 腳本的名稱會成為后續(xù)API的一部分,請注意命名

步驟2: 上傳json文件

使用如下方式和接口即可上傳相應包含groovy操作的json文件

  • 接口:/service/siesta/rest/v1/script
  • 方法:POST
  • 文件:將步驟1中準備的文件作為POST的內容傳入

步驟3: 執(zhí)行groovy文件

使用如接口即可執(zhí)行在步驟2中上傳的groovy腳本

  • 接口:/service/siesta/rest/v1/script/腳本名稱/run
  • 方法:POST

此處需要注意腳本名稱也會是執(zhí)行接口中的一部分,命名變得灰常重要。

使用示例

這里使用上述方式來演示一下如何在Nexus中創(chuàng)建一個Raw類型的repository。

步驟1: 以json文件為載體,創(chuàng)建可運行的groovy腳本

因為創(chuàng)建repository需要指定blob,如果沒有指定則會使用default,但是如果項目眾多,將會導致default非常巨大,在前面介紹nexus的使用實踐中也給出過對于不同的repository創(chuàng)建自己的blob,所以這里創(chuàng)建如下的json文件:

liumiaocn:~ liumiao$ cat rawrepotest1.json { "name": "rawrepotest1", "type": "groovy", "content": "def rawStore = blobStore.createFileBlobStore('rawrepotest1', 'raw');repository.createRawHosted('rawrepotest1', rawStore.name);"}liumiaocn:~ liumiao$

建議:因為Nexus的這種使用方式本身就不是非常完整的方式,建議使用的過程中諸如rawrepotest1全部一致,這樣blob和repository的關系也比較清楚,無非多上傳幾個大小可以忽略不計的json文件而已。

步驟2: 上傳json文件

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: application/json" http://localhost:32004/service/siesta/rest/v1/script -d @rawrepotest1.jsonliumiaocn:~ liumiao$

步驟3: 執(zhí)行groovy文件

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: text/plain" http://localhost:32004/service/siesta/rest/v1/script/rawrepotest1/run{ "name" : "rawrepotest1", "result" : "RepositoryImpl$$EnhancerByGuice$$13e8178d{type=hosted, format=raw, name='rawrepotest1'}"}liumiaocn:~ liumiao$

結果確認

blob確認

已經(jīng)生成相應的blob:rawrepotest1

Nexus,Api

repository確認

已經(jīng)生成相應的raw方式的repository:rawrepotest1

Nexus,Api

小結

Nexus中結合groovy能夠實現(xiàn)Api方式的集成,但是這種方式在使用上還有諸多的不變,多次執(zhí)行是否出錯等都成為groovy腳本確認的事項,相關功能是否會強化可能還需要看nexus后續(xù)版本的支持情況,和groovy的結合方式會不會是功能過度時期的對應方式還需進一步觀察。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網(wǎng)的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安远县| 巴楚县| 库尔勒市| 芷江| 伊宁县| 革吉县| 温宿县| 海口市| 凯里市| 商洛市| 织金县| 大新县| 双流县| 弥勒县| 临西县| 仙桃市| 新龙县| 吴忠市| 琼结县| 沙雅县| 晋宁县| 东兴市| 邵阳市| 宣城市| 肃南| 乌什县| 句容市| 顺义区| 若羌县| 茂名市| 阿尔山市| 玉龙| 手机| 奉贤区| 广汉市| 武穴市| 临城县| 宣威市| 阳泉市| 万宁市| 三穗县|