簡介
Jfroge的artifactory 是一款Maven倉庫服務端軟件,可以用來在內網搭建maven倉庫,供公司內部公共庫的上傳和發佈,以提供公共代碼使用的便利性。
Artifactory的倉庫主要分三類:local、remote、virtual
本地私有倉庫(local):用於內部使用,上傳的組件不會向外部進行同步;
遠程倉庫(remote):用於代理及緩存公共倉庫,不能向此類型的倉庫上傳私有組件;
虛擬倉庫(virtual):不是真實在存儲上的倉庫,用於組織本地倉庫和遠程倉庫
組件
組件 | 安裝目錄 |
---|---|
jfrog-artifactory-oss-4.8.0.zip | /usr/local/artifactory |
jdk-8u121-linux-x64.tar.gz | /usr/local/jdk1.8.0_121 |
安裝配置
1.安裝jdk
cd /usr/local/src
tar –zxvf jdk-8u121-linux-x64.tar.gz –C ../
2.安裝artifactory
cd / usr/local /src
unzip jfrog-artifactory-oss-4.8.0.zip
mv artifactory-oss-4.8.0 ../artifacotry
cd / usr/local/artifactory/bin
vim artifacoty.default
修改如下:
export ARTIFACTORY_HOME=/ usr/local/artifactory
export ARTIFACTOR_USER=root
export JAVA_HOME=/ usr/local/jdk-1.8.0_121
3.啓動
bash /usr/local/artifactory/bin/artifactory.sh start
4.訪問
http://10.10.100.5:8081
默認用戶名/密碼:admin/password
導入/導出(export/import)
artifactory倉庫初始爲空,需要從源倉庫導出,然後再導入到此倉庫。
export
export分爲system/repositories,其中:
system爲導出整理artifactory系統所有配置及所有倉庫;
repositories爲導出artifactory系統的所有倉庫;
本例爲導出repositories
1.進入Admin-Import&Export-Repositories-Export Repository to Path頁面
2.選擇“All Repository”;
3.選擇“Export Path on Server”,點擊“Browse”,將倉庫導出到/root/export目錄中;
4.選擇“Export”即可進行到處;
導出過程可以查看“Admin-Advanced-System Logs”來了解導出進度;當然也可查看/ usr/local/artifactory/logs/artifactory.log
導出完畢後,會在/root/export/repository,respository就是我們導出的所有倉庫
import
export也分爲system/repositories,本例爲導入repositories
對於一個新的倉庫,需要提前建好和源倉庫一樣的repository,因此在執行導入前,我們需要對照源倉庫建好對應的repository,如:
在Admin-Repositores中的Local,Remote,Virtual中,點擊“New”來創建對應的倉庫(多餘的repository可以刪除),建好可以按以下步驟進行導入工作:
1.進入Admin-Import&Export-Repositorie-Import Repository to Path頁面
2.選擇“All Repository”;
3.選擇“Import Path on Server”,點擊“Browse”,選擇/root/export目錄;
4.選擇“Import”即可進行導入;
導入過程可以查看“Admin-Advanced-System Logs”來了解導出進度;當然也可查看/ usr/local/artifactory/logs/artifactory.log
導入完畢後,可以點擊Home頁面,可看到“JFrog Artifactory is happily serving * artifacots”。
Deploy部署
在開發過程中,通常會出現缺少包的問題,尤其在無法連接外網的情況下,需要我們進行deploy,將缺少的包部署到倉庫。
安裝本地jar包到artifactory
1.準備本地jar包文件
此目錄下surefire-booter-2.7.1.jar、surefire-booter-2.7.1.pom都需要deploy,以jar文件爲例,pom文件按一樣步驟deploy即可。
2.點擊Artifacts-Deploy
其中:
“Target Repository”主要爲internal、libs、snapshot,此例中我們選擇libs第三方庫;
3.選擇“Select file”,到org/apache/maven/surefire/surefire-booter/2.7.1目錄中選擇surefire-booter-2.7.1.jar,並路徑填寫:
Goup ID
Artifact ID
Version
Type
最後勾選 Generate Default POM/Deploy Jar’s Internal POM;
注意:有的jar會自動填寫以上信息,這些信息和路徑相對應。
4.點擊Deploy進行提交
安裝本地源碼到artifactory
從本地安裝的用戶必須爲artifactory中具有讀寫權限或爲admin角色,需要在settings.xml中添加用戶名及加密密碼,例如:
Artifactory管理角色爲test,密碼爲test666
mvn –ep test666 加密後會生成一串字符
再設置setttings.xml,設置用戶名爲test,密碼爲剛纔生成的字符串。
準備完以上步驟後,即可進行源碼部署:
1.準備源碼文件rpc-client-demo
2.進入源碼目錄,修改pom.xml
按照源碼目錄,依次分別輸入groupId、artifactoryId、version、packageing
注意:version爲1.0.0會傳輸到遠程倉庫的internal,而爲1.0.0-SNAPSHOT則會傳輸到遠程倉庫的snapshot。
圖2:
需要添加artifacoty的遠程倉庫
3.進入源碼目錄,安裝到本地repository
mvn install
4.進入源碼目錄,進行部署
mvn deploy
部署完畢後,控制檯打印SUCCESS。