Amazon LinuxをDockerで動かす

AWSと言えばクラスメソッドさん、こちらの手順でほぼほぼ出来た。さすが!

Docker Meetup Tokyo #2でLTしてきた:「Docker+serverspecで作るconfigspec CI」 #dockerjp | Developers.IO

これでローカルでAmazon Linux固有環境のテストもできる〜(∩´∀`)∩ワーイ

あ、ただDockerfileに以下も追加しないとSSHがつながらなかったのでご注意を。

$ diff Dockerfile.org Dockerfile
12a13,14
> RUN chmod 600 /home/ec2-user/.ssh/authorized_keys
> RUN chown ec2-user:ec2-user /home/ec2-user/.ssh/authorized_keys

イメージの接続確認

ビルドしたイメージは、以下の手順で確認できます。

  • sshd起動して待ち受ける
$ docker run -d -p 22 local/amznssh /usr/sbin/sshd -D
b1313f8ab7c8bfd5b0b7d5c23b6e9ed2770102adf32fe8e0dcf3799978f7df2a
  • 起動したコンテナを確認
$ docker ps
CONTAINER ID        IMAGE                  COMMAND               CREATED             STATUS              PORTS                   NAMES
b1313f8ab7c8        local/amznssh:latest   "/usr/sbin/sshd -D"   2 seconds ago       Up 2 seconds        0.0.0.0:49153->22/tcp   pensive_torvalds
  • SSHで接続してみる
$ ssh -i xxx.pem -p 49153 ec2-user@localhost

イメージの保存

イメージは以下の方法で保存できます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
local/amznssh       latest              ddc2dc72ebd1        37 minutes ago      964.8 MB
local/amzn          latest              8cf4161c6154        About an hour ago   964.8 MB

# docker save ddc2dc72ebd1 > amzn201409.tar

あとはS3にアップロードするなり、ローカルに落とすなり。

イメージの取り込み

$ docker load -i amzn201409.tar

で!
ただloadだとレポジトリ名やタグ名がないので、付けてあげた方が良いです。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              8fe16e021510        4 hours ago         832.1 MB

$docker tag 8fe16e021510 local/amzn:2014.09

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
local/amzn          2014.09             8fe16e021510        4 hours ago         832.1 MB


2014/11/18 修正

$ cat amzn201409.tar | docker import - local/amzn:2014.09

では正しく取り込めませんでした。

exec: "/bin/bash": stat /bin/bash: no such file or directory

とかのエラーが出ちゃう。詳しくはこちらとか見て頂ければー。





非エンジニア待望!「Web製作者のためのGithubの教科書」の書評

先日発売した「Web製作者のためのGithubの教科書」をkwappaさんからご恵贈頂きました。ありがとうございます!

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール

著者は塩谷さん(kwappaさん)のほか、サイバーエージェントの紫竹さん、原さん、平木さんというそうそうたる面々。どう考えても間違いないでしょー!というわけで書評を書かせて頂きます。

どんな内容?

本書は「Web製作者のための〜」シリーズのGitHub本で、タイトルからも分かるとおり「Web製作の現場」をターゲットとしています。今までエンジニア以外の方を対象としたGit本はなかったと思うので、待ち望んでいた方もたくさんいたんじゃないでしょうか?

  1. こんにちは Git、はじめましてGitHub(P9〜)
  2. これだけはマスターしたい GitHubの基本機能(P21〜)
  3. 実践! リポジトリの作成からcloneまで(P41〜)
  4. 実践! 複数デザインの提示から採用まで(P101〜)
  5. 実践! Pull Requestを使った分担作業からマージまで(P119〜)
  6. 快適に共同作業するためのドキュメント作成と進捗管理(P159〜)
  7. 現場で使える! 便利なGitHubテクニック(P195〜)

という章立てになっています。
GitHubについて幅広く知るようなものではなく、ほんとに現場の方がすぐ必要としている実践的な内容だということがわかります。

分かりやすい!

Gitと聞くとエンジニアのものというイメージがありますが、非エンジニアの方でもスムーズに理解できるように、様々な工夫がされていました。

  • 全ページカラー
    • 見やすい
  • 図が豊富
    • 分かりやすい
  • 架空のWeb製作プロダクションを例に対話形式で説明
    • 楽しんで読める、理解しやすい
  • GitHubSourceTreeの操作が中心
    • 非エンジニアには馴染みのないCLIの黒い画面はほとんど出ない
  • Web製作者にとって必要な機能のみ紹介
    • 覚えるべきことを絞って敷居を下げてる

対話形式なので読み物としても楽しめて、「そうそう、コンフリクト起こった時とか困るんだよなー」と思わず共感しちゃいます!

f:id:matsukaz:20141118014942j:plain

Git初心者の方や、非エンジニアの方にぜひおすすめしたい書籍ですね!
この書籍を機に、Web製作の現場にもGitHubがどんどん浸透するといいなぁヽ(=´▽`=)ノ

もっとGitを理解したくなったら

Gitをもっと深く理解したくなった方は、「開発効率をUPする Git逆引き入門」もよろしくお願いしますw
配色が見づらいとのお話がありますが、第2刷からは改善しておりますので、第2刷以降かどうかをご確認頂ければー。

開発効率をUPする Git逆引き入門

開発効率をUPする Git逆引き入門

  • 作者: 松下雅和,船ヶ山慶,平木聡,土橋林太郎,三上丈晴
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2014/04/09
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (6件) を見る

トランスリミットに入社しました

2014年10月より株式会社トランスリミットで働き始めました。
リアルタイム対戦型脳トレのBrainWarsというゲームを運営している、まだ社員数名のスタートアップです。

オフィスも今日から新しくなりました。ひろーい!

f:id:matsukaz:20141001122901j:plain

やれることは何でもやるつもりで頑張らねばー!
あ、ウィッシュリストとかありますので、よろしければw

転職とかそう何度もあることではないので、良い機会なので転職エントリーでも書こうかと。日記程度の内容なので、興味ない方はスルーしてくださいませ。

続きを読む

GitHub導入事例の記事を執筆しました

CodeZineさんからお話を頂いて、サイバーエージェントでのGitHub導入事例の記事を執筆しました。


サイバーエージェントのGitHub活用 ~ 導入から運用体制、開発フロー、勉強会による現場への普及活動まで (1/3):CodeZine

  • どんな経緯でGHEを導入することになったか
  • GHEの運用体制
  • どんなリポジトリを管理しているか
  • 採用している開発フロー
  • GHE導入によるメリット

などについて書いています。

Gitを導入したいけど、メリットがはっきり言えなくてえらい人を説得できないよ

導入してみたけど、なかなかメインリポジトリとして利用してくれない

どういうものをリポジトリで扱ったらいいか分からない

といった方の手助けになれると幸いです。
よろしければご一読下さいませ〜m(_ _)m

すでに導入されてる方はスルーしてくださって大丈夫ですw

バランスボールとスタンディングデスクのススメ

2ヶ月前に サイバーエージェントのスタンディングデスク事情 でうちのスタンディングデスク事情が紹介されてましたが、そこでバランスボールに乗っていたのが自分です。

f:id:matsukaz:20140420233745j:plain

あの後、自分もスタンディングデスクを始めていて、今では↓な感じでバランスボールとスタンディングデスクを併用しとります。

f:id:matsukaz:20140420234401j:plain

今の環境はかなり気に入ってるので、せっかくなのでそれぞれの良さを紹介してみます。

続きを読む

lodashでよく使う関数まとめ

lodashunderscore.js とほとんど同じ機能を持つユーティリティライブラリです。
似たような関数名があったり、破壊的メソッドだったりして、正しい使い方をちょいちょい忘れてしまうので、よく使う関数を逆引き形式でまとめてみました。日本語の記事もあんまりなかったので紹介の意味でも。
他にもいろいろ機能はあるので、気になる人は lodashのdocs を見ると良いかと。

続きを読む