この投稿は カノジョできないエンジニア Advent Calendar 2016 の21日目の記事です。
もしかしたら何かがどうにかなって、12月中旬にはカノジョができているかもしれない。
そんな期待を胸に迎えた12月。
ギリギリまでねばって(?)このアドベントカレンダーから目を背けていましたが、
ついに現実を見なければならない時がやってきました。
しかしまだ時間はある。
あと2日。
あと2日あるんだ。
あきらめたらそこでXmas終了ですよ…?と眼鏡のサンタが囁く。
いや全然おっけー。Xmas終了していいんじゃないですかね?
さあ。この記事では、Xmasをぼっちで迎えないために役立つ(かもしれない)Tipsを
徒然なるままに書いていくよ。
開発環境構築/運用の手間を減らそう
メインのタスクは開発であるはずなのに、環境の構築や維持に手間がかかってしまうから
余計に時間を削られ、カノジョを作る暇が無いーーー
今更?いや、きっとまだ誰かに届くはずだ。
そんな気持ちを胸に言わせてください。
開発環境を構築するなら Vagrant や Docker を使いましょう。
ローカル開発環境の扱いがかなり楽になるので。
もしカノジョが今日から同じプロジェクトにジョインしたいとか言い出しても
自分のローカル環境のデータをコマンド1つでエクスポートしてそのままカノジョに渡せば、
それを起動するだけで全く同じ環境がカノジョのローカルにも構築されるのです。
もしカノジョが以前の状態に戻りたいとか言い出しても
バックアップの取得も切り戻しも、コマンド1つで済むのです。
これで僕はだいぶ幸せになれました。
開発するにしてもテストを行うにしても、起動・破棄・複製が容易な環境というのは非常に便利。
ちなみに、Vagrant使う場合は十中八九入れておいたほうがいいプラグイン( vagrant-vbguest とか)が
あったりするので、このあたりは先達諸氏の記事をご参照ください。
環境にアクセスする手間を減らそう(Macから認証アリproxy経由してsshする)
特定の環境へのアクセスに関しては
「コマンドを打つのすら面倒」
「そもそもどの環境がどんなネーミングで存在していたかなんて覚えていない」
という理由達が相俟って、いつもは Shuttle から各環境にサクッとアクセスしてるんですが
あれ…proxy経由してsshするのってどうすれば???と最近困ったことがあったので
ついでに載せておきます。
httpに限定しないなら
全部コマンド内に書いてしまうパターン
ProxyCommand
内でproxy接続情報を指定していきます。
例1
$ ssh [ユーザー名]@[サーバ] -o 'ProxyCommand ssh -p [proxyポート] [proxyユーザー名]@[proxyサーバ] nc %h %p'
例2(proxyのタイプ指定したい場合)
$ ssh -o ProxyCommand='nc -X [proxyのタイプ] -x [proxyサーバ]:[proxyポート] %h %p' [ユーザー名]@[サーバ]
~/.ssh/config に書くパターン
# hogehoge環境にproxy経由で接続
Host hogehoge
HostName [サーバ]
Port [サーバポート]
User [ユーザー名]
ProxyCommand ssh -p [proxyポート] [proxyユーザー名]@[proxyサーバ] nc %h %p
…と書いたなら、 $ ssh hogehoge
とコマンド打つだけで済む。
認証アリhttpの場合
①Macに corkscrew を(Homebrewで)インストール
$ brew install corkscrew
②proxyサーバの認証情報を記載したファイルを作成
中身は [username]:[password]
。
$ cat ~/.ssh/hogehoge_proxy_login.ini
my_name:XXXXXXXX
このようなファイルを作っておいて、
③ProxyCommand 内のコマンドを corkscrew に変更
ProxyCommand 部分だけだと以下のような形になるので
ProxyCommand corkscrew [proxyサーバ] [port番号] %h %p [認証情報ファイル名]
1コマンド内に収めようとすると
ssh [ユーザー名]@[サーバ] -o 'ProxyCommand corkscrew [proxyサーバ] [proxyポート] %h %p ~/.ssh/hogehoge_proxy_login.ini'
うわぁ…長い…
まぁ設定ファイルに記述する内容なので毎回これを打つわけじゃないのですが。
タスクの優先順位付けを見誤らないようにしよう
突然話が変わりますが、忙しいからと言って優先順位を見誤ったタスクの先延ばしは
しばらく放置してたら予期せずブロック 大きな問題を引き起こすのだと
最近痛感したので書いておきます。
ええ、10日目の記事 究極の24/365運用を目指して を見て目から汗が止まっていないのは僕ですよ…
あまりにもかっこよかったので上記記事から一文を引用。
「会いたい」って要求に対して 24/365 で答えられないのであれば、ping の通らないサーバと同じ。
誰かこの台詞を半月前の僕に言ってやってください。
memo
忙しい時こそ、大切な誰かとの時間を確保しよう。
敢えてそういう時間を作ることで、逆に自分に余裕が生まれる。
…のだと、最近になってようやく学びました。
その「大切な誰か」がいないことが最も大きな問題ですね。泣いてませんよ。
皆様、素敵な休暇をお過ごしください。