More Related Content
PDF
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園 PDF
PDF
20130511 jjug ccc講演 さらばjsp JAXBとmixer2 PDF
PDF
PDF
PDF
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT PDF
What's hot
PDF
chat bot framework for Java8 PPTX
PDF
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話 PDF
PDF
【Camphor ×サイボウズ】selenium勉強会 PDF
ODP
PDF
PDF
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点 PDF
Javaで1から10まで書いた話(sanitized) PDF
PDF
Mojoliciousでつくる! Webアプリ入門 KEY
PDF
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜 PDF
脱・独自改造! GebでWebDriverをもっとシンプルに PDF
Mojolicious+redisでチャットを作った PDF
PDF
PPTX
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている More from Y Watanabe
PDF
クラウド時代だからSpring-Retryフレームワーク PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ PDF
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1 PDF
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩 PDF
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田 PDF
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所 PDF
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界 PDF
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略 PDF
PDF
PDF
The cost of learning - advantage of mixer2 PDF
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと PDF
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料 PDF
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク PDF
Mixer2によるdynamic css sprite 201309第三回渋谷java PDF
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug 20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
さっきのデモみたいな流れに至るまでのコツ
• pom.xmlを調整する
• <groupId>,<artifactId>,親pomの指定
• GPG鍵とmaven-gpg-plugin
• *.md5/*.sha1チェックサムはmaven-install-plugin
• maven-sources-plugin, maven-javadoc-plugin
• アップロード権限をもらうための申請
• Mixer2の場合はどうだった?
• ビルドとリリースに関する3つのポイント
• 仮想OS + Jenkinsを使う
• maven-release-pluginのことを忘れる
• 細かいバージョン番号を自分で決めない
8
今日の話は
ここだけ
各自ググる
あるいは mixer2
のpomを参考に。
- 9.
• pom.xmlを調整する
• <groupId>,<artifactId>,親pomの指定
• GPG鍵とmaven-gpg-plugin
• *.md5, *.sha1 チェックサムはmaven-install-plugin
• maven-souces-plugin, maven-javadoc-plugin
• アップロード権限をもらうための申請
• Mixer2の場合はどうだった?
• ビルドとリリースに関する3つのポイント
• 仮想OS + Jenkinsを使う
• maven-release-pluginのことを忘れる
• 細かいバージョン番号を自分で決めない
9
- 10.
アップロード権限をもらう
1. 大きなプロジェクトでは自前のリポジトリサーバをセントラル
リポジトリサーバが直接rsyncしてくれる。
例: ApacheCommons Project
例: Spring Framework Project
2. 小さいプロジェクトの場合は http://oss.sonatype.org に直
接アップする。
1. 申請すれば<groupId>ごとにアップロード権限をくれる。
例: アカウント”nabedge”は<groupId>org.mxier2</
groupId>の配下ならどんなartifactでも登録可能
2. とりあえず本家の解説を一生懸命読みましょう。
https://docs.sonatype.org/display/Repository/Sonatype
+OSS+Maven+Repository+Usage+Guide
10
- 11.
Mixer2の場合はどうだった?
1. mixer2.org というドメイン名を取得
2. http://mixer2.org/ にあらかじめmaven siteで作ったページ
を用意。もちろん<groupId>はorg.mixer2
3. 自分のメールアドレスでgpg鍵つくって鍵サーバに登録
4. pom.xmlを調整
5. mvn deploy するとステージングリポジトリにUPされる
6. 3で使ったメールアドレスでSonatypeのJIRAにアカウント登
録&チケットを作成。
7. すんなりリポジトリへのアクセス権をくれた。
8. NEXUSにJIRAアカウントでログインし、ステージング状態
のartifactをリリースするとセントラルリポジトリへ反映される
※以降のリリースでは5と8の作業だけでよい。
11
- 12.
• pom.xmlを調整する
• <groupId>,<artifactId>,親pomの指定
• GPG鍵とmaven-gpg-plugin
• *.md5, *.sha1 チェックサムはmaven-install-plugin
• maven-souces-plugin, maven-javadoc-plugin
• アップロード権限をもらうための申請
• Mixer2の場合はどうだった?
• ビルドとリリースに関する3つのポイント
• 仮想OS + Jenkinsを使う
• maven-release-pluginのことを忘れる
• 細かいバージョン番号を自分で決めない
12
- 13.
なぜ仮想OS + Jenkinsでやるのか
1. ビルド&リリースに使うコマンドやその実行手順を間違えない
2. ビルドした記録と成果物を保存しやすい
3. 異なるJDK/JREでのmvn testを実行しやすい
• mixer2はJRE同梱のJAXB実装に依存している。
Java6とJava7とでJAXB実装のバージョンが微妙に異なる。
• なので、Java7でのmvn testもいつでもやれるようになってる。
4. 確実に環境を一定に保てる
5. バックアップしやすい
• 「ソースはgithubに入ってるから大丈夫」では甘い。
• JDK/JRE環境、gpg署名用の秘密鍵、ビルドジョブの設定(≒ビルド
とリリースの手順そのもの)、過去の成果物、etcetc…
• ↑うっかり失うと再構築が面倒くさいという意味でダメージ大
• 仮想OSのイメージファイルで丸ごとバックアップしてしまえ!
13
- 14.
• pom.xmlを調整する
• <groupId>,<artifactId>,親pomの指定
• GPG鍵とmaven-gpg-plugin
• *.md5, *.sha1 チェックサムはmaven-install-plugin
• maven-souces-plugin, maven-javadoc-plugin
• アップロード権限をもらうための申請
• Mixer2の場合はどうだった?
• ビルドとリリースに関する3つのポイント
• 仮想OS + Jenkinsを使う
• maven-release-pluginのことを忘れる
• 細かいバージョン番号を自分で決めない
14
- 15.
maven-release-pluginのことを忘れる
1. mvn release:preparerelease:perform のように簡単
なコマンド一発にできるが、pom.xmlがややこしくなり
がち。
2. どうせjenkinsを使うのだから、pom.xmlにややこしい設
定を書く代わりにビルドジョブ上にUNIXコマンドを書く
ようにするほうがわかりやすい&メンテしやすい。
3. 「maven-release-pluginは、-SNAPSHOTなversion指
定が自分自身や依存先に指定されていないかまで
チェックしてくれるんだぜ!」
→そういうのも最近はセントラルリポジトリ(のステージ
ング環境)にUPする段階で自動チェックしてくれるから
必ずしも自分でやらなくてもいい。
15
- 16.
- 17.
• pom.xmlを調整する
• <groupId>,<artifactId>,親pomの指定
• GPG鍵とmaven-gpg-plugin
• *.md5, *.sha1 チェックサムはmaven-install-plugin
• maven-souces-plugin, maven-javadoc-plugin
• アップロード権限をもらうための申請
• Mixer2の場合はどうだった?
• ビルドとリリースに関する3つのポイント
• 仮想OS + Jenkinsを使う
• maven-release-pluginのことを忘れる
• 細かいバージョン番号を自分で決めない
17
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.