Sublime Text 3の設定・ショートカットメモ(Windows、Ruby)
WindowsでRubyを書く目的で設定した、Sublime Text 3のメモです。
インストールしたパッケージ
All Autocomplete
ConvertToUTF8
IMESupport
Package Control
RubyTest
Seti_UI
SublimeCodeIntel
SublimeLinter
SublimeLinter-Ruby
sublime-settings
{ "Seti_mouse_wheel_tabswitche": true, "Seti_tabs_small": true, "caret_extra_width": 1, "color_scheme": "Packages/User/Seti (SL).tmTheme", "default_encoding": "UTF-8", "draw_white_space": "all", "fallback_encoding": "UTF-8", "font_face": "Consolas", "font_size": 11, "highlight_line": true, "ignored_packages": [ "Vintage" ], "line_padding_top": 1, "preview_on_click": false, "rulers": [ 80 ], "show_encoding": true, "tab_size": 4, "theme": "Seti.sublime-theme", "trim_trailing_white_space_on_save": true }
ショートカット
Sublime Text 2のものですが、ショートカットの一覧。
Sublime Text 2 Keyboard Shortcuts Windows Cheat Sheet by njovin - Cheatography.com: Cheat Sheets For Every Occasion
SublimeText3とRspecでTDDを開始するまで
SublimeText3上でTDDを実行可能になるところまでのメモです。
これの続きになります。 WindowsにRubyの開発環境構築(Not Rails) - Chaetodonのブログ
適当なディレクトリにフォルダを作成します。 今回はfizzbuzz。定番のお題です。 コマンドプロンプトでfizzbuzzフォルダを開いて、
\fizzbuzz>bundle init
作成されたGemfileを書き換え、 rspecをインストールし、
\fizzbuzz>bundle install --path .bundle
rspecを初期化し、
\fizzbuzz>bundle exec rspec --init
ここで、Sublime->Project->Add Folder to Projectからfizzbuzzを選択すると、サイドバーにfizzbuzzフォルダ以下が表示されて便利。
あとは、specフォルダ以下にテストコードを、
require "bundler" Bundler.require require_relative "../FizzBuzz" describe FizzBuzz do it "should be 1" do expect(FizzBuzz.new.fizzbuzz(1)).to eq "1" end end
fizzbuzzフォルダ以下にテストターゲットを、
class FizzBuzz end
これでTDDを開始する(すでにコードが多少書かれていますが)準備ができました。
今回もこちらを参考に。 [Ruby]Windowsで環境セットアップからTDD開発サンプルまで その4 - Qiita
WindowsにRubyの開発環境構築(Not Rails)
Rubyを勉強しなくてはならなくなったので、WindwosにRubyの開発環境を構築してみます。RubyでググるとRailsばかり出ますが、Railsを使うわけではないのでそれについてはスルー。
基本的にはこちらのサイトを参考に進めます。というかほぼそのままです。本記事いらないのでは…。
[Ruby]Windowsで環境セットアップからTDD開発サンプルまで その1 - Qiita
その1に関しては何も問題なくdone!
Rubyは2.1を入れて、
RubyGemsを更新して、
Rakeを更新して、
Bundlerをインストール。以上!
gem update --system gem update rake gem install bundler
その2も粛々と。
rspectestディレクトリを作成し、
bundlerを初期化し、
\rspectest> bundle init
Gemfileを編集し、
source "https://rubygems.org" gem "rspec", ">= 3.0.0"
Rspecをインストールし、
\rspectest> bundle install --path .bundle
テストターゲットとテストコードを書いて、
RspecTest.rb
class RspecTest def message "rtest" end end
RspecTest_spec.rb
require "bundler" Bundler.require require_relative "../RspecTest" describe RspecTest do it "test" do expect(RspecTest.new.message).to eq "rtest" end end
rspecを実行
\rspectest>bundle exec rspec DL is deprecated, please use Fiddle \rspectest/spec/RspecTest_spec.rb:6:in `<top (required)>': undefined method `describe' for main:Object (NoMethodError)
…。ここにきてうまく動かず。
参考記事に従ってspec_helper.rbのコメントを一部外していたのを元に戻したら問題なく動作したので、とりあえずその対応で先に進みます。spec_helperの中身も後でちゃんと確認しないとですね…。
そしてその3に突入します。
Sublime Text 3をすでに入れていたので、あとはRubyTestとSublimeLinter-Rubyだけ導入しました。
参考記事ではSublime Text 3では動かなかったようですが、自分の環境では動く…。
Ctrl+Shift+rで選択しているテストケースのみを実行できたりと、結構便利な感じです。
以上、ほぼ参考記事そのままを実行しただけなのですが、SublimeText3でRuby環境を作れたので満足です。
AmazonLinuxにGitLab構築してみる
特にこれといって作ってみたいサービスがあるわけではないのですが、GitにコミットしたらJenkinsがテストしてデプロイして…という環境を作ってみたくなったので、まずはGitLabをEC2上で動かしてみます。
- EC2インスタンスの起動
まずは、EC2インスタンスの起動からやります。
特にこだわりはないのでAmazon Linux AMIを選択。
サイズはt2.micro。後々Jenkins載せるとちゃんと動いてくれるのか不安ですが、そのときはそのときということで。
セキュリティグループは、SSHとHTTP用にいくつか開けておきます。
あとはほぼデフォルトの設定で。
ELBやRoute53を使うわけではないので、EIPを作成したインスタンスに直接割り当てました。
- Dockerインストール
GitHubクローンのGitLabを5分でインストールした - アルパカDiary
こちらの記事を参考にGitLabを入れようとしたのですが、Rubyのライブラリがないよと何度もエラーで怒られて結局解決できなかったので、Dockerを入れてその上で動かすことにしました。
まずはDockerをインストールします。
$ sudo yum -y update $ sudo yum -y --enablerepo=epel install docker-io $ sudo service docker start
おお、簡単!
- 次にGitLabを
sameersbn/docker-gitlab · GitHub
こちらで公開されているイメージを使って簡単構築…と思いきや、Quick Startに従うだけだと動かず…。
データベースも動かしておかないといけないらしいので、PostgreSQLとRedisもDockerで動かすことにします(もちろん上記のリンク先で公開されているイメージで!)。
最新のイメージを取得し、ローカルにデータを置いておく場所を作成。
$ sudo docker pull sameersbn/gitlab:latest $ sudo docker pull sameersbn/postgresql:latest $ sudo docker pull sameersbn/redis:latest $ sudo mkdir -p /opt/gitlab/data $ sudo mkdir -p /opt/postgresql/data
DBから起動し、最後にGitLabのコンテナを立ち上げます。
$ sudo docker run --name=redis -d sameersbn/redis:latest $ sudo docker run --name=postgresql -d \ -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e 'DB_PASS=password' \ -v /opt/postgresql/data:/var/lib/postgresql \ sameersbn/postgresql:latest $ sudo docker run --name='gitlab' -it -e 'GITLAB_PORT=10080' -e 'GITLAB_SSH_PORT=10022' -p 10022:22 -p 10080:80 --name=gitlab -d --link postgresql:postgresql --link redis:redisio -v /opt/gitlab/data:/home/git/data sameersbn/gitlab:latest
最後のコマンドではセキュリティグループに開けておいたポートを指定しています。
少し時間が経ってからブラウザからhttp://EIPのアドレス:10080にアクセスして、GitLabのログイン画面が表示されればOKです。
らくちん!
※GitLabの細かい設定はすっとばしているので、それは後々…