実行できる手順書(LC4RI)ってのご存じでしょうか?
ドキュメントとコマンドが混じって書いてあって、コマンド部分は実行できて、
その実行結果が載っています。
なので、手順書として読めて、かつ実行した内容とその時の出力がエビデンスとしてとれるもので
運用作業者にとってはExcel手順書の置き換えにぴったしなんですね
そういう書き方が出来るツールとしてjupyter notebookが良く使われているんですけど、
これが運用してみるとドキュメントの並び替えとか、編集が意外と面倒だったりする。
もっと普通のエディタで書けたら・・そう思ってました。したらヒラめいた!
VSCodeのmarkdown編集機能を実行できるようにすれば良いんだ!!
つくってみたわ
VScodeのマーケットプレイスからインストールするならこちら
こっちGit。
つかいかた
基本は普通のmarkdownと同じ書きっぷりです。リストと水平線と番号リストで変わります。
VSCodeのカーソル位置から下にあるコマンドを実行していきます。
なので、実行したい部分までカーソルを持ってってこの拡張機能を動かしてください。
(ショートカットキーに拡張機能の実行を割り当てると超便利ですよ!)
リスト
実行したいコマンドを書きます。
タブでインデントをずらすとAND条件になります。
つまり、
-
- ls existsfile.txt
- - rm existsfile.txt
- ls existsfile.txt
でexistsfile.txtが無ければ削除しない、みたいな書き方ができます。
水平線
コマンドの実行範囲を区切ります。区切らないとリスト表記のを上から順に実行しちゃいます。
番号リスト
変数をもてます。1.~9.の範囲で実行結果の出力を変数として格納します。
重いコマンドとか何度も実行したくないものは結果を格納して使いまわせます。
コンフィグファイル
以下のようなサンプルで設定ファイルを作れます(無ければ自動生成します)
{
"timeout": 10000,
"template": {
"linux": "ssh user@192.168.0.1 {COMMAND}"
},
"changeWord": {
"#HOME#": "/home/user"
},
"toutf8": true,
"toterminal": true
}
timeout
タイムアウト時間です。実行する時間が長いものはタイムアウトするようになってます
template
OSの環境にあわせて各コマンドを実行するテンプレートを定義します。
例えばlinuxの環境だったら、全部SSH経由で実行するみたいな定義が出来ます
通常lsと書いた場合ローカルでlsコマンドを実行します
- ls
ただ、定義をこのようにすると
ssh user@192.168.0.1 "{COMMAND}"
全てSSH経由でリモート実行されるようになります
ssh user@192.168.0.1 ls
chageWord
ワードで文字列変更します
元の文字がこうなってて
- ls #HOME#
定義がこうなってると
"#HOME#": "/home/user"
このように置き換えて実行されます
ls /home/user
toutf8
デフォオン(true)で、falseにするとSJISのまま処理されるはずなんですが・・・なんか手元だとうまく動かないですね。。
toterminal
trueに設定するとターミナルで直接実行します。↑のオプションがうまく動かない時はこちらで・・・
あとがき
VSCodeのエコシステムが使えるので文章校正とか他の拡張機能の恩恵も受けれますね!
これで運用作業ドキュメントも見栄え良く、使いやすくなるものと思います。