CircleCIで使用するGitHubのデプロイキーの発行

概要

CircleCIのビルドジョブ内でGitHubリポジトリからcloneを行う際のデプロイキーを作成するコマンドです。

コマンド

ssh-keygen -t rsa -b 4096 -m pem -C "" -f id_rsa_circleci -N ""
-m

フォーマットでpem形式を指定しています。
CircleCIではpem形式を推奨しています。

-C

鍵ファイルの用途等を記載するコメントを指定するためのオプションです。
ここではコメントは不要のため空文字を指定しています。

-N

パスフレーズを指定するオプションです。
今回はパスフレーズ不要のため、パスフレーズ無しにしています。

mysqladminコマンドでMySQLデーモンの起動状態を確認

概要

Amazon RDSやGoogle CloudSQLでMySQLインスタンスの起動や停止の検証を行っている際に、
デーモンが稼働状態に遷移したか確認したいときになにかよい方法はないかなーと思っていました。
そこで調べていたところmysqladminコマンドのpingオプションというものがあり、
それを使うことで簡単に確認出来たのでそのメモです。

mysqladmin pingコマンド

MySQLデーモンが起動中の状態の場合
$ mysqladmin ping -h 127.0.0.1
mysqld is alive
$

mysqld is aliveというメッセージが返ってきます。

終了ステータスは0です。

MySQLデーモンが停止中の状態の場合
$ mysqladmin ping -h 127.0.0.1
mysqladmin: connect to server at '127.0.0.1' failed
error: 'Can't connect to MySQL server on '127.0.0.1' (61)'
Check that mysqld is running on 127.0.0.1 and that the port is 3306.
You can check this by doing 'telnet 127.0.0.1 3306'
$

デーモンが起動していない場合上記のようなメッセージになります。

終了ステータスは1です。

MySQLデーモンは起動しているがパスワード認証がかかっている場合
$ mysqladmin ping -h 127.0.0.1; echo $?
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqladmin: connect to server at '127.0.0.1' failed
error: 'Access denied for user 'root'@'172.17.0.1' (using password: YES)'
0
$

上記のように認証エラーになりますがデーモンは起動しているので終了ステータスは成功の0となるので注意が必要です。

lsb_releaseコマンド

概要

lsb_releaseというコマンドでOSのバージョンを確認することが出来ます。
オプションによって出力を限定することが出来、シェルスクリプトの判定等に使うことが出来ます。

使い方

lsb_release -aですべてを表示させることが出来ます。

表示例

$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:    16.04
Codename:    xenial
$
ディストリビューション名を表示
$ lsb_release -c
Codename:    xenial
$

-sオプションをつけることで値だけ返るようになります。

OS名を表示
$ lsb_release -is
Ubuntu
$


Descriptionを表示
$ lsb_release -ds
Ubuntu 16.04.4 LTS
$


リリースバージョン番号を表示
$ lsb_release -rs
16.04
$