LoginSignup
0
0

More than 5 years have passed since last update.

RaspberryPi2にArchivaセットアップしたメモ その3

Posted at

前回の続き。
自前のプロジェクトをアップロードしてみる。

ラズパイのIPを打つのが面倒なので、/etc/hostsraspiと書いておいた。
avahi-daemonをキチント設定すれば、こんな面倒もないらしい。停止したけど。。。

サンプルプロジェクト

前回、guestユーザに「Repository Manager」ロールを付与したので
アップロード先を指定するだけでOKな気がする。

なので、↓こんなbuild.sbtを書いた。

lazy val root = (project in file(".")).settings(

  organization := "orz.sample", // groupIdになる
  name := "project",            // artifactIdになる
  version := "1.0.0-SNAPSHOT",

  scalaVersion := "2.11.7",
  scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked"),

  publishMavenStyle := true, // trueにするとpomを作ってくれる(らしい)

  // アップロード先
  publishTo := Some("snapshots" at "http://raspi:8080/archiva/repository/snapshots/")

)

publishToに指定するのは、pom.xmlのdistributionManagementに書く内容。

pom.xmlに書くべき内容は、ArchivaのRepositoriesメニューから表示させることができる。

2015-11-08-15.39.15.png

リポジトリリストの「Actions」ボタンから「Pom Snippet」を選択すると・・・

2015-11-08-15.39.39.png

画面下部にxmlが表示される。

選択範囲のidurlの箇所をコピーして

Some("{id}" at "{url}")

とすればOK。

アップロードしてみる。

$ sbt publish
   :
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.0-SNAPSHOT/project_2.11-1.0.0-SNAPSHOT.pom
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.0-SNAPSHOT/project_2.11-1.0.0-SNAPSHOT.jar
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.0-SNAPSHOT/project_2.11-1.0.0-SNAPSHOT-sources.jar
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.0-SNAPSHOT/project_2.11-1.0.0-SNAPSHOT-javadoc.jar
[success] Total time: 8 s, completed 2015/11/08 16:25:56

できた!

Archivaも見てみる。

2015-11-08-16.28.14.png

ヨシ、できてる。

認証ありの場合

guestはID/PWなしでアップロードできるようにしたので
今度は認証必要にして試してみる。

testユーザを作成して「Repository Manager」ロールを付与。

2015-11-08-17.08.58.png

2015-11-08-17.09.17.png

guestからは「Repository Manager」ロールを剥奪しておく。

guestでアップロードできなくなっているはず・・・。

$ sbt publish
   :
[error] Unable to find credentials for [Repository Archiva Managed snapshots Repository @ raspi].
java.io.IOException: Access to URL http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.0-SNAPSHOT/project_2.11-1.0.0-SNAPSHOT.pom was refused by the server: Unauthorized

想定どおり、失敗。

build.sbtに認証情報を追記。

lazy val root = (project in file(".")).settings(

  organization := "orz.sample", // groupIdになる
  name := "project",            // artifactIdになる
  version := "1.0.1-SNAPSHOT",

  scalaVersion := "2.11.7",
  scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked"),

  publishMavenStyle := true, // trueにするとpomを作ってくれる(らしい)

  // アップロード先
  publishTo := Some("snapshots" at "http://raspi:8080/archiva/repository/snapshots/"),

  // 認証情報(リポジトリの名前, host, ID, PW)
  credentials += Credentials("Repository Archiva Managed snapshots Repository", "raspi", "test", "passwd1234")

)

credentialsに指定する内容は、、、

credentials += Credentials("{リポジトリ名}", "{ホスト名}", "{ID}", "{PW}")

publishToに指定した「リポジトリID」ではなく「リポジトリ名」を指定する。
リポジトリ名はArchivaで確認。

$ sbt publish
   :
[info] Done packaging.
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.1-SNAPSHOT/project_2.11-1.0.1-SNAPSHOT.pom
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.1-SNAPSHOT/project_2.11-1.0.1-SNAPSHOT.jar
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.1-SNAPSHOT/project_2.11-1.0.1-SNAPSHOT-sources.jar
[info]  published project_2.11 to http://raspi:8080/archiva/repository/snapshots/orz/sample/project_2.11/1.0.1-SNAPSHOT/project_2.11-1.0.1-SNAPSHOT-javadoc.jar
[success] Total time: 4 s, completed 2015/11/08 17:31:17

Archivaも確認。

2015-11-08-17.34.06.png

1.0.1-SNAPSHOTができている。OK!


これで一通りは確認できた。満足。

関係ないがarchiva.logには以下のようなバナーが出る。

                          __________________________________
               /\_       /                                  \
              /`/@),    |  On behalf of all of the alpacas   |
              |  (~'  __| toiling away on the Apache Archiva |
      _,--.___/  |    \      project team, I would like to   |
    ,' ,     (   |     \         welcome you to Archiva      |
    |  (      \  /      |               2.2.0                |
     \  )\_/  ,_/       |                                    |
     / /   ( |/         |     http://archiva.apache.org/     |
    ( |    ( |          |     users@archiva.apache.org       |
     \|     \|           \__________________________________/

archivaとアルパカの関係性は不明。


参考資料:
Apache Archiva
SBT | Publishing

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0