Contenu connexe
Similaire à Bundler kanazawa.rb meetup #2 2012/09/19 (20)
Bundler kanazawa.rb meetup #2 2012/09/19
- 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)
- 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
- 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
- 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
- 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
公開すればダウンロードはされるみたい
使われてるかは分からないけど・・・
- 41. まとめ
bundlerでアプリのgem依存管理がシンプル
gemはコマンドラインツールの配布に便利
bundle gemで自作gemの公開が簡単
簡単・便利なツールがそろっているので
自分が普段使っているコマンドラインツールを
gem(+GitHub)で公開してみよう!!
- 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
Notes de l'éditeur
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n