Sublime Text 3の設定・ショートカットメモ(Windows、Ruby)

WindowsRubyを書く目的で設定した、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インスタンスの起動からやります。
特にこだわりはないので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の細かい設定はすっとばしているので、それは後々…

ブログ、始めました

プログラミングとか色々と試してみたことを書いておく、備忘録的な感じでやっていこうと思います。

 

まずはAWS使ってGitlabやJenkins環境つくってみるところから書いていきます。