Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Hitoshi Kurokawa
KEY, PPTX
1,087 views
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as KEY, PPTX
1
/ 47
2
/ 47
3
/ 47
4
/ 47
5
/ 47
6
/ 47
7
/ 47
8
/ 47
9
/ 47
10
/ 47
11
/ 47
12
/ 47
13
/ 47
14
/ 47
15
/ 47
16
/ 47
17
/ 47
18
/ 47
19
/ 47
20
/ 47
21
/ 47
22
/ 47
23
/ 47
24
/ 47
25
/ 47
26
/ 47
27
/ 47
28
/ 47
29
/ 47
30
/ 47
31
/ 47
32
/ 47
33
/ 47
34
/ 47
35
/ 47
36
/ 47
37
/ 47
38
/ 47
39
/ 47
40
/ 47
41
/ 47
42
/ 47
43
/ 47
44
/ 47
45
/ 47
46
/ 47
47
/ 47
More Related Content
PDF
いつやるの?Git入門 v1.1.0
by
Masakazu Matsushita
PDF
Play framework 2.0のおすすめと1.2からのアップグレード
by
Kazuhiro Hara
PDF
minneで学ぶクラウド脳
by
Uchio Kondo
PDF
Gitのよく使うコマンド
by
YUKI Kaoru
PDF
Pylons ユーザのための Pyramid 移行ガイド
by
Nozomu Kaneko
PDF
Ruby way-openstack.keynote
by
Uchio Kondo
PDF
インフラ自動化とHashicorp tools
by
Uchio Kondo
KEY
Play2 translate 20120714
by
masahitojp
いつやるの?Git入門 v1.1.0
by
Masakazu Matsushita
Play framework 2.0のおすすめと1.2からのアップグレード
by
Kazuhiro Hara
minneで学ぶクラウド脳
by
Uchio Kondo
Gitのよく使うコマンド
by
YUKI Kaoru
Pylons ユーザのための Pyramid 移行ガイド
by
Nozomu Kaneko
Ruby way-openstack.keynote
by
Uchio Kondo
インフラ自動化とHashicorp tools
by
Uchio Kondo
Play2 translate 20120714
by
masahitojp
What's hot
PDF
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
by
Kazuhiro Hara
PDF
Git flowの活用事例
by
Hirohito Kato
PDF
ヒカルのGo 資料 Webアプリケーションの作り方
by
Yosuke Furukawa
PDF
Androidの新ビルドシステム
by
l_b__
PPTX
やさしいGitの内部構造 - yapcasia2013
by
DQNEO
PDF
人間たちとsystemd
by
Uchio Kondo
PDF
真Drone入門
by
Yutaka Matsubara
PDF
2014年を振り返る 今年の技術トレンドとDockerについて
by
Masahito Zembutsu
PDF
NDS#31
by
hayajo Imai
PDF
Bot Framework v4 開発 Tips 2018-11
by
Atsushi Yokohama (BEACHSIDE)
PDF
Jenkins に XFD を追加してみると
by
Kiro Harada
KEY
Git (実践入門編)
by
Naomichi Yamakita
PDF
Niigata.pm #1
by
hayajo Imai
KEY
Play勉強会 第3回
by
Daisuke Kasuya
PDF
What makes pyramid unique
by
Atsushi Odagiri
PDF
Gitの使い方あれこれ
by
よしだ あつし
PPTX
Meteor kitchen で楽々ウェブアプリ開発
by
Junji Yamada
PDF
20120706-readablecode
by
Masanori Kado
PDF
Pelican の紹介 / World Plone Day 2017 Tokyo
by
Kei IWASAKI
KEY
プラガブル Play20 Scala
by
Kazuhiro Sera
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
by
Kazuhiro Hara
Git flowの活用事例
by
Hirohito Kato
ヒカルのGo 資料 Webアプリケーションの作り方
by
Yosuke Furukawa
Androidの新ビルドシステム
by
l_b__
やさしいGitの内部構造 - yapcasia2013
by
DQNEO
人間たちとsystemd
by
Uchio Kondo
真Drone入門
by
Yutaka Matsubara
2014年を振り返る 今年の技術トレンドとDockerについて
by
Masahito Zembutsu
NDS#31
by
hayajo Imai
Bot Framework v4 開発 Tips 2018-11
by
Atsushi Yokohama (BEACHSIDE)
Jenkins に XFD を追加してみると
by
Kiro Harada
Git (実践入門編)
by
Naomichi Yamakita
Niigata.pm #1
by
hayajo Imai
Play勉強会 第3回
by
Daisuke Kasuya
What makes pyramid unique
by
Atsushi Odagiri
Gitの使い方あれこれ
by
よしだ あつし
Meteor kitchen で楽々ウェブアプリ開発
by
Junji Yamada
20120706-readablecode
by
Masanori Kado
Pelican の紹介 / World Plone Day 2017 Tokyo
by
Kei IWASAKI
プラガブル Play20 Scala
by
Kazuhiro Sera
Viewers also liked
PDF
Dc rda-rdat-low
by
Irfan Ahmad
XLS
H22職業調べ
by
Masaki3981
PPT
Country report[1]
by
84tommy
PPT
Big data and hadoop
by
Prashanth Yennampelli
PPS
CURIOSIDADES
by
christian salazar
PPT
Kelsey lincoln sp 111 introduction
by
kvlincoln
PPTX
Lp Intrommercial
by
carlos202003
PPT
6 essential components of an order device
by
Sadiyya Patel
PPTX
STEVE JOB
by
Sahil Bansal
PPT
Library resources and services updated
by
carrillomcguire
Dc rda-rdat-low
by
Irfan Ahmad
H22職業調べ
by
Masaki3981
Country report[1]
by
84tommy
Big data and hadoop
by
Prashanth Yennampelli
CURIOSIDADES
by
christian salazar
Kelsey lincoln sp 111 introduction
by
kvlincoln
Lp Intrommercial
by
carlos202003
6 essential components of an order device
by
Sadiyya Patel
STEVE JOB
by
Sahil Bansal
Library resources and services updated
by
carrillomcguire
Similar to Bundler kanazawa.rb meetup #2 2012/09/19
PDF
RubyGemsの落とし穴
by
Kazuhiro Nishiyama
PPT
いまさら聞けないRake入門
by
Tomoya Kawanishi
PDF
RubyGems と Bundler について
by
Tomoya Kawanishi
PDF
初めての公開Gem作り
by
Tomoe Sawai
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
PPTX
start Heroku
by
Hazuki Wakabayashi
PDF
Ruby Enterprise Environment
by
Tomoya Kawanishi
PDF
Management of Gems using Bundler.
by
Tamotsu Furuya
PPTX
How to make gem
by
Ken Iiboshi
KEY
Real world rails
by
Jun Yokoyama
PDF
Rails3.1rc4を試してみた
by
Takahiro Hidaka
PDF
恋に落ちるデプロイツール
by
totty jp
PDF
Capistrano
by
Yasuharu Fukuda
PDF
Mina 20130417
by
Naotoshi Seo
PDF
Carton について何か話す
by
Masaki Nakagawa
PDF
RubyGems と Bundler について
by
Tomoya Kawanishi
PDF
rvm でbundlerと仲良くする
by
Yukimitsu Izawa
PDF
3分 gem クッキング
by
Kenji Mori
PDF
Rubykansai 81
by
Satomi Tsujita
PDF
Gemの話 紹介編
by
Satomi Tsujita
RubyGemsの落とし穴
by
Kazuhiro Nishiyama
いまさら聞けないRake入門
by
Tomoya Kawanishi
RubyGems と Bundler について
by
Tomoya Kawanishi
初めての公開Gem作り
by
Tomoe Sawai
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
start Heroku
by
Hazuki Wakabayashi
Ruby Enterprise Environment
by
Tomoya Kawanishi
Management of Gems using Bundler.
by
Tamotsu Furuya
How to make gem
by
Ken Iiboshi
Real world rails
by
Jun Yokoyama
Rails3.1rc4を試してみた
by
Takahiro Hidaka
恋に落ちるデプロイツール
by
totty jp
Capistrano
by
Yasuharu Fukuda
Mina 20130417
by
Naotoshi Seo
Carton について何か話す
by
Masaki Nakagawa
RubyGems と Bundler について
by
Tomoya Kawanishi
rvm でbundlerと仲良くする
by
Yukimitsu Izawa
3分 gem クッキング
by
Kenji Mori
Rubykansai 81
by
Satomi Tsujita
Gemの話 紹介編
by
Satomi Tsujita
Bundler kanazawa.rb meetup #2 2012/09/19
1.
Bundler Next SeeD
黒川 仁 (@krhitoshi) 2012/09/22 Kanazawa.rb meetup #2 @ITビジネスプラザ武蔵
2.
自己紹介 黒川 仁 (@krhitoshi) プログラマ/サーバエンジニア Next SeeD
(個人事業) http://www.nextseed.jp/ 黒川仁の文具堂ブログ三昧 http://blog.bungu-do.jp/
3.
iOSアプリ開発 祝日カレンダー iPhone 170円 約360DL 冥想(座禅)タイマー
iPhone/iPad (英語対応) 無料 約5,000DL iPad App ヘルスケア/フィットネス 最高18位(日本) 最高122位(アメリカ) i便所 ジョークアプリ Trychestと共同開発 約3万5,000DL (2011年8月) iPhone App ライフスタイル 最高9位
4.
最初にご質問 普段、Rubyを使っている人? Rubyを触ったことある人? Rails触ったことある人? 普段、gitを使っている人? subversionは? githubを使ってる人?
5.
今日のお話 bundler, gemについて gemはコマンドラインツールの配布に便利 bundle gemでgemを自作しよう まとめ
6.
bundler, gemについて ∼ Redmineを例に
∼
7.
RubyGems(gem)とは Rubyのライブラリ、ツールのパッケージを 管理(公開)するツール RubyGems.org gem コマンド gem install
rails gem install json require 'json' Perl: CPAN, PHP: PEAR RubyGems.org
8.
railsだけでこれだけのバー
ジョンがある /Users/hitoshi% gem list rails -ra *** REMOTE GEMS *** rails (3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.8, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.17, 3.0.16, 3.0.15, 3.0.14, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.3.14, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.4, 2.0.2, 2.0.1, 2.0.0, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.1, 0.11.0, 0.10.1, 0.10.0, 0.9.5, 0.9.4.1, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.5, 0.8.0)
9.
アプリとgemのバージョン アプリによって必要なgemのバージョンが違う アプリ配布側はバージョンの指定 ユーザは指定されたバージョンをインストール
10.
Bundlerとは 環境でも動作するようにアプリケーションが使用する gemのバージョンを面倒みてくれるツール Rails 3.0.0リリース時にBundler 1.0.0リリース gem
install bundler Gemfileに指定されたgemがインストールされてない 場合はアプリケーションが動作しない
11.
Redmineの例 Ruby on Railsで作られたプロジェクト管理システム
(バグトラッキングシステム) Rubyの開発にも利用されている http://bugs.ruby-lang.org/
12.
Redmineの例 現行バージョン 2.1.0 (2012/09/22
現在) 1.4以降はBundler対応 1.4系 Gemfile有り (Bundler対応) Ruby 1.8.7, 1.9.2 or 1.9.3 Ruby on Rails 2.3.14 1.3系 Gemfile無し Ruby 1.8.6 or 1.8.7 Ruby on Rails 2.3.14
13.
Redmineのインストール Redmine 1.3をCentOS 6にインストールする 手順 Redmine
2.1をCentOS 6.3にインストールす る手順 Redmine.jp
14.
Redmine 1.3
15.
Redmine 2.1
16.
gemについてはあまり気にする必要がなくなった アプリ配布側:「bundle installしてね」
必要なgemとそのバージョンの指定が必要ない (Gemfileに書いてある) ユーザ側 :「bundle installするよ」 必要なgemとそのバージョンのインストール作業が簡単
17.
bundlerについてその他 bundle check bundle update bundle
install --path vendor/bundler bundle exec (Gemfileで指定されたgemで実行) Rails3だけでなくRails2, Sinatraへの対応 http://gembundler.com/
18.
昔は大変だったけど Bundlerで楽になったよね
19.
gemはコマンドラインツー ルの配布に便利
20.
サーバ管理ツール Ruby(Perl)スクリプトでサーバ管理ツール Apacheバーチャルドメイン追加・削除 Postfixバーチャルドメイン追加・削除 管理しているサーバにそれぞれインストール
昔作ったツールでPerlと混在 バージョンもバラバラ 複数台のサーバへ簡単にインストールできる 仕組みが欲しい
21.
gemでの配布がよさそう gemでコマンドラインツールを配布するのは難し いと思っていた
実はgemパッケージのbin/以下にスクリプトを配 置しておくだけ あとはインストールの際にgemがいいようにして くれる 各サーバでgem install 〇〇を実行すればよい gemなのでインストールしたいバージョンが選べる
22.
パスワード生成コマンド
pass 最初は簡単なスクリプトから
23.
pass /Users/hitoshi% gem install
pass Successfully installed pass-0.0.2 1 gem installed /Users/hitoshi% rehash (シェルによってはrehash) /Users/hitoshi% pass VZ3JR9yQkRTA /Users/hitoshi% pass 5 cN7TNtFV5MHZ ifrVMG3x5qtK pfYq7N3Xk6Qu y3VMRLDBAJwL パスワード5個生成 sme6DSMD2bCV /Users/hitoshi% pass 5 20 AJ9xeNvJuPayrVuJJKUf dGmncPJAuhX2EVnN4DfP xuuePtux7GN97p5Y5Cfm 20文字パスワード5個生成 NryDyJxAyWaWbAtvg3Su EAFx9SQ7iiag59HpnBei
24.
Perlスクリプトも配布できる(たぶん) ローカルの環境ではOKだった
25.
gem install pass どんなサーバにもすぐにインストールできる
26.
bundle gemでgemを自作
しよう
27.
gem作成支援ツール gem作成支援ツール jeweler, hoe,
ore 新しいgemを作る際にjewelerが最近の環境で すんなり動かなかった もしかして古くなってるかも 最近は何が使われてるのか?
28.
http://qa.atmarkit.co.jp/q/54
29.
http://qa.atmarkit.co.jp/q/54 bundle gemは安定してて、書くこと少なく
て、コマンド一発で便利 bundle gemよさそう!!
30.
bundle gem /Users/hitoshi% (master)
bundle gem my_gem -bV create my_gem/Gemfile create my_gem/Rakefile create my_gem/LICENSE create my_gem/README.md create my_gem/.gitignore create my_gem/my_gem.gemspec create my_gem/lib/my_gem.rb create my_gem/lib/my_gem/version.rb create my_gem/bin/my_gem Initializating git repo in /Users/hitoshi/hoge/my_gem
31.
gemspecの編集 my_gem.gemspec # -*- encoding:
utf-8 -*- require File.expand_path('../lib/my_gem/version', __FILE__) Gem::Specification.new do |gem| gem.authors = ["Hitoshi Kurokawa"] gem.email = ["hitoshi@nextseed.jp"] gem.description = %q{TODO: Write a gem description} gem.summary = %q{TODO: Write a gem summary} gem.homepage = "" とりあえず説明文だけ修正 gem.files = `git ls-files`.split($) gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } gem.test_files = gem.files.grep(%r{^(test|spec|features)/}) gem.name = "my_gem" gem.require_paths = ["lib"] gem.version = MyGem::VERSION end
32.
gemファイルをビルドするには rakeタスクリスト /Users/hitoshi/my_gem% rake -T rake
build # Build my_gem-0.0.1.gem into the pkg directory rake install # Build and install my_gem-0.0.1.gem into system gems rake release # Create tag v0.0.1 and build and push my_gem-0.0.1.gem to Rubygems gemファイルのビルド /Users/hitoshi/my_gem% rake build my_gem 0.0.1 built to pkg/my_gem-0.0.1.gem gemの手動インストール /Users/hitoshi/my_gem% gem install pkg/my_gem-0.0.1.gem Successfully installed my_gem-0.0.1 1 gem installed gemのビルドとインストール /Users/hitoshi/my_gem% rake install my_gem 0.0.1 built to pkg/my_gem-0.0.1.gem my_gem (0.0.1) installed gemのリリース(配布,公開) gemのアカウント登録などの作業は必要 /Users/hitoshi/my_gem% rake release
33.
Demo
34.
gemのリリース gemのリリース(配布, 公開) /Users/hitoshi/my_gem% rake
release RubyGems.orgのアカウント登録は必要 https://rubygems.org/users/new
35.
gemのアップデート リリース lib/my_gem/version.rb module MyGem -
VERSION = "0.0.1" + VERSION = "0.0.2" end lib/my_gem/version.rb バージョン番号上げる rake release
36.
GUI: GitX http://gitx.frim.nl/ リリース時に自動でtagも打ってくれる
37.
公開後のルーチン
gitで管理 コード修正 lib/my_gem/version.rb バージョン番号上げる GitHub rake release
38.
gemの中身の参考例 lib/以下のファイル構成
gemspecの書き方 テストの書き方 https://github.com/wycats/thor 自分はThorを参考にした 普段よく使うgem、似たようなツール、ライブラリがあるなら git cloneして参考にするとよい
39.
postfixのバーチャルドメイン管理
Postfix Admin(PHP)のCLI DataMapper バーチャルドメイン管理 Apache, Postfix 公開すればダウンロードはされるみたい 使われてるかは分からないけど・・・
40.
まとめ bundlerでアプリのgem依存管理がシンプル gemはコマンドラインツールの配布に便利 bundle gemで自作gemの公開が簡単
41.
まとめ bundlerでアプリのgem依存管理がシンプル
gemはコマンドラインツールの配布に便利 bundle gemで自作gemの公開が簡単 簡単・便利なツールがそろっているので 自分が普段使っているコマンドラインツールを gem(+GitHub)で公開してみよう!!
42.
ご静聴ありがとうございました
44.
Redmineの例 現行バージョン 2.1.0 (2012/09/22
現在) Gemfile有り 1.4系 Gemfile有り ver. 1.4.0 2012年4月14日リリース Ruby 1.8.7, 1.9.2 or 1.9.3 Bundler >= 1.0.21 Ruby on Rails 2.3.14 1.3系 Gemfile無し ver. 1.3.0 2011年12月10日リリース Ruby 1.8.6 or 1.8.7 Ruby on Rails 2.3.14
45.
rails new /Users/hitoshi% rails
new hoge create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app ................. create vendor/plugins create vendor/plugins/.gitkeep run bundle install
46.
利用ケース Gemfileを1から書く機会はあまりないのでは? rails アプリ 配布されたアプリ!bundle install 自作アプリ!Gemfileに使用するgemを追加 !bundle
install
47.
gemバージョン指定 gem install rack
-v=1.1.2 gem install rake -v=0.9.2 gem 'mygem', "> 1.1" gem 'yourgem', "= 4.56.4"
Editor's Notes
#2
\n
#3
\n
#4
\n
#5
\n
#6
\n
#7
\n
#8
\n
#9
\n
#10
\n
#11
\n
#12
\n
#13
\n
#14
\n
#15
\n
#16
\n
#17
\n
#18
\n
#19
\n
#20
\n
#21
\n
#22
\n
#23
\n
#24
\n
#25
\n
#26
\n
#27
\n
#28
\n
#29
\n
#30
\n
#31
\n
#32
\n
#33
\n
#34
\n
#35
\n
#36
\n
#37
\n
#38
\n
#39
\n
#40
\n
#41
\n
#42
\n
#43
\n
#44
\n
#45
\n
#46
\n
#47
\n
Download