Revision 4 as of 2015-08-14 07:54:49

Clear message
Locked History Actions

artifactory

artifactory

ビルド成果物をアーティファクトというらしいが、これは要するにjarファイルとその依存を記述したpom.xml,ivy.xml等のファイルがいっしょになったもの。 例えば、自分で記述したプログラムのjarファイルの実行にcommons-loggingが必要であれば、これらのxmlにそれが記述され、その状態でリポジトリに登録される。

また、プログラムを改修してバージョンが変更になった場合には、再度リポジトリに登録するが、以前のバージョンを必要とするユーザのために歴代のバージョンをすべて保存しておく。

さらに、世界中で公開されているアーティファクトリがすべて収められた公開リポジトリもあり、ここに有名どころはすべて揃っている。

前者をインハウスリポジトリ、後者をセントラルリポジトリとここでは呼ぶ。

artifactoryを適当なサーバにインストールすることにより、インハウスリポジトリ(自分達のリポジトリ)を作成することができるのだが、しかしセントラルリポジトリのキャッシュとしても使用することができる。つまり、artifactory一つあれば両方の役割を果たしてくれる。

インストール

ここではCentOS6.5にインストールするので、以下からRPMをダウンロードしてインストール。

http://www.jfrog.com/open-source/

インストールされるファイルは以下の通り

/etc/init.d/artifactory
/etc/opt/jfrog
/etc/opt/jfrog/artifactory
/etc/opt/jfrog/artifactory/artifactory.config.xml
/etc/opt/jfrog/artifactory/artifactory.system.properties
/etc/opt/jfrog/artifactory/default
/etc/opt/jfrog/artifactory/logback.xml
/etc/opt/jfrog/artifactory/mimetypes.xml
/opt/jfrog
/opt/jfrog/artifactory
/opt/jfrog/artifactory/bin
/opt/jfrog/artifactory/bin/artifactory-service.exe
/opt/jfrog/artifactory/bin/artifactory.bat
/opt/jfrog/artifactory/bin/artifactory.default
/opt/jfrog/artifactory/bin/artifactory.sh
/opt/jfrog/artifactory/bin/artifactoryctl
/opt/jfrog/artifactory/bin/configure.mysql.sh
/opt/jfrog/artifactory/bin/installService.bat
/opt/jfrog/artifactory/bin/installService.sh
/opt/jfrog/artifactory/bin/recover.backup.sh
/opt/jfrog/artifactory/bin/uninstallService.bat
/opt/jfrog/artifactory/bin/uninstallService.sh
/opt/jfrog/artifactory/misc
/opt/jfrog/artifactory/misc/db
/opt/jfrog/artifactory/misc/db/createdb
/opt/jfrog/artifactory/misc/db/createdb/createdb_mssql.sql
/opt/jfrog/artifactory/misc/db/createdb/createdb_mssqlBlob.sql
/opt/jfrog/artifactory/misc/db/createdb/createdb_mssqlRecreateBlob.sql
/opt/jfrog/artifactory/misc/db/createdb/createdb_mysql.sql
/opt/jfrog/artifactory/misc/db/mssql.properties
/opt/jfrog/artifactory/misc/db/mysql.properties
/opt/jfrog/artifactory/misc/db/oracle.properties
/opt/jfrog/artifactory/misc/db/postgresql.properties
/opt/jfrog/artifactory/misc/ha
/opt/jfrog/artifactory/misc/ha/ha-node.properties.template
/opt/jfrog/artifactory/misc/service
/opt/jfrog/artifactory/misc/service/artifactory
/opt/jfrog/artifactory/misc/service/setenv.sh
/opt/jfrog/artifactory/misc/tomcat
/opt/jfrog/artifactory/misc/tomcat/NGNIX.txt
/opt/jfrog/artifactory/misc/tomcat/artifactory.httpd.conf
/opt/jfrog/artifactory/misc/tomcat/artifactory.xml
/opt/jfrog/artifactory/misc/tomcat/index.html
/opt/jfrog/artifactory/misc/tomcat/logging.properties
/opt/jfrog/artifactory/misc/tomcat/server.xml
/opt/jfrog/artifactory/misc/tomcat/web.xml
/opt/jfrog/artifactory/misc/websphere
/opt/jfrog/artifactory/misc/websphere/README.txt
/opt/jfrog/artifactory/misc/websphere/web.xml
/opt/jfrog/artifactory/tomcat
/opt/jfrog/artifactory/tomcat/LICENSE
/opt/jfrog/artifactory/tomcat/NOTICE
/opt/jfrog/artifactory/tomcat/RELEASE-NOTES
/opt/jfrog/artifactory/tomcat/RUNNING.txt
/opt/jfrog/artifactory/tomcat/bin
/opt/jfrog/artifactory/tomcat/bin/bootstrap.jar
/opt/jfrog/artifactory/tomcat/bin/catalina-tasks.xml
/opt/jfrog/artifactory/tomcat/bin/catalina.bat
/opt/jfrog/artifactory/tomcat/bin/catalina.sh
/opt/jfrog/artifactory/tomcat/bin/commons-daemon-native.tar.gz
/opt/jfrog/artifactory/tomcat/bin/commons-daemon.jar
/opt/jfrog/artifactory/tomcat/bin/configtest.bat
/opt/jfrog/artifactory/tomcat/bin/configtest.sh
/opt/jfrog/artifactory/tomcat/bin/daemon.sh
/opt/jfrog/artifactory/tomcat/bin/digest.bat
/opt/jfrog/artifactory/tomcat/bin/digest.sh
/opt/jfrog/artifactory/tomcat/bin/setclasspath.bat
/opt/jfrog/artifactory/tomcat/bin/setclasspath.sh
/opt/jfrog/artifactory/tomcat/bin/setenv.sh
/opt/jfrog/artifactory/tomcat/bin/shutdown.bat
/opt/jfrog/artifactory/tomcat/bin/shutdown.sh
/opt/jfrog/artifactory/tomcat/bin/startup.bat
/opt/jfrog/artifactory/tomcat/bin/startup.sh
/opt/jfrog/artifactory/tomcat/bin/tomcat-juli.jar
/opt/jfrog/artifactory/tomcat/bin/tomcat-native.tar.gz
/opt/jfrog/artifactory/tomcat/bin/tool-wrapper.bat
/opt/jfrog/artifactory/tomcat/bin/tool-wrapper.sh
/opt/jfrog/artifactory/tomcat/bin/version.bat
/opt/jfrog/artifactory/tomcat/bin/version.sh
/opt/jfrog/artifactory/tomcat/conf
/opt/jfrog/artifactory/tomcat/conf/Catalina
/opt/jfrog/artifactory/tomcat/conf/Catalina/localhost
/opt/jfrog/artifactory/tomcat/conf/Catalina/localhost/artifactory.xml
/opt/jfrog/artifactory/tomcat/conf/catalina.policy
/opt/jfrog/artifactory/tomcat/conf/catalina.properties
/opt/jfrog/artifactory/tomcat/conf/logging.properties
/opt/jfrog/artifactory/tomcat/conf/server.xml
/opt/jfrog/artifactory/tomcat/conf/web.xml
/opt/jfrog/artifactory/tomcat/lib
/opt/jfrog/artifactory/tomcat/lib/annotations-api.jar
/opt/jfrog/artifactory/tomcat/lib/catalina.jar
/opt/jfrog/artifactory/tomcat/lib/el-api.jar
/opt/jfrog/artifactory/tomcat/lib/servlet-api.jar
/opt/jfrog/artifactory/tomcat/lib/tomcat-api.jar
/opt/jfrog/artifactory/tomcat/lib/tomcat-coyote.jar
/opt/jfrog/artifactory/tomcat/lib/tomcat-jni.jar
/opt/jfrog/artifactory/tomcat/lib/tomcat-util-scan.jar
/opt/jfrog/artifactory/tomcat/lib/tomcat-util.jar
/opt/jfrog/artifactory/tomcat/logs
/opt/jfrog/artifactory/tomcat/temp
/opt/jfrog/artifactory/tomcat/webapps
/opt/jfrog/artifactory/tomcat/webapps/ROOT
/opt/jfrog/artifactory/tomcat/webapps/ROOT/index.html
/opt/jfrog/artifactory/tomcat/work
/opt/jfrog/artifactory/webapps
/opt/jfrog/artifactory/webapps/artifactory.war
/opt/jfrog/doc
/opt/jfrog/doc/artifactory-4.0.1
/opt/jfrog/doc/artifactory-4.0.1/COPYING
/opt/jfrog/doc/artifactory-4.0.1/COPYING.LESSER
/opt/jfrog/doc/artifactory-4.0.1/README.txt
/opt/jfrog/doc/artifactory-4.0.1/Third-Parties-Usage-About-Box.html
/var/opt/jfrog/artifactory
/var/opt/jfrog/artifactory/etc
/var/opt/jfrog/artifactory/misc
/var/opt/jfrog/artifactory/tomcat
/var/opt/jfrog/artifactory/webapps
/var/opt/jfrog/run

サービスとして登録されるので、これを起動する。

service artifactory start

すると、ビルトインのtomcatが起動するのだが、ポートは8081になっているので、既に別の目的のtomcatが起動していても問題ない。

このサーバのIPが192.168.1.177だとすると、http://192.168.1.177:8081/でアクセスできる。

デフォルトのデータベースはapache derbyのembeddedバージョンで、これは/var/opt/jfrog/artifactory/dataに作成される。 mysqlも使用可能のようだ。

管理者ログイン

管理者はadmin/passwordでログイン可能。

使用するリポジトリの選択

artifactoryは単一のリポジトリではなく、複数のリポジトリを提供しており、セントラルリポジトリ(リモート)、インハウスリポジトリ(ローカル)、あるいはそれぞれのスナップショット、ライブラリ用・プラグイン用などいろいろ用意されている。しかし、これらのすべてを使う必要はなく、また必要であれば追加することもできる。

通常リポジトリが複数ある場合には、ビルドツール側で読み込む場合には、それぞれ記述する必要があるようだが、artifactoryでは複数のリポジトリを一つにまとめて提供してくれるようだ。とりあえず、以下を使うことにする。

  • libs-release-local

インハウスリポジトリ。自分達が登録したものだけが存在する。

  • libs-release

上のリポジトリとセントラルリポジトリをまとめたもの。セントラルにあるものと、インハウスにあるものを区別なく参照できる。

とりあえずは上の二つを利用することにする。