この記事は Ansible Advent Calendar 2020 の過去遡りです。
個人的な観測として世間ではAnsible Playbook/Roleを開発する時に使用するエディタはVS Codeが多いのかな?という印象です。
VS Codeいいですよね、自分もデモをする時とかは code-server を使ったりしています。
でも、自分が普段Playbook/Role開発で使用しているエディタはSublime Textなのです。
VS Codeより高機能じゃないかもしれませんが、やっぱり昔から使い慣れたエディタが一番!ということで、Sublime Textを使ってPlaybookを開発する時に便利なプラグインを紹介してみようと思います。
(ちなみに、自分は開発する対象によってエディタを使い分けてます。例えばPythonだとPyCharmを使ってたり)
TrailingSpaces
TrailingSpaces
は行の最後に余計な余白があると赤く表示してくれるプラグインです。
これで、無駄な余白が無いか?が目視確認できます。
sublime-ansible
sublime-ansible
はPlaybookのコードを見やすいようにハイライトしてくれるプラグインです。
SublimeLinter-contrib-yamllint
SublimeLinter-contrib-yamllint
はSublime Textで開いているPlaybookファイル(YAML)に対してYAML Lintを実行してくれます。
ファイルを保存(Ctrl+sなど)するとLintが実行され、Lintに引っかかると行に印が付いて教えてくれます。
Macの場合は Ctrl + command + a
でエラーの原因を確認できます。
SublimeLinter-contrib-ansible-lint
SublimeLinter-contrib-ansible-lint
はSublime Textで開いているPlaybookファイルに対してAnsible Lintを実行してくれます。
ファイルを保存(Ctrl+sなど)するとLintが実行され、Lintに引っかかると行に印が付いて教えてくれます。
Macの場合は Ctrl + command + a
でエラーの原因を確認できます。
Sublime Textの設定
ここからは、上記プラグインをインストールした後の設定について説明します。
OSはMacでSublime Textはバージョン3、Python3を想定しています。
Lintのインストール
任意の場所にvenvを作って yamllint
ansible-lint
をインストールしてください。
1 2 |
(venv) $ pip install yamllint ansible-lint |
プラグインのインストール
Sublime Textのプラグインインストール方法は公式ページを参照してください。
Lint設定
Preference
-> Package Settings
-> SublimeLinter
-> Settings
で設定を開きます。
以下は設定例になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// SublimeLinter Settings - User { "paths": { "osx": [ "/Users/$USERNAME/.../.../venv/bin/" ] }, "linters": { "yamllint": { "selector": "source.yaml, source.ansible", }, "ansiblelint": { "c": "/Users/$USERNAME/.config/ansiblelint/config" } } } |
paths
にはvenvのパスを記述します。
yamllint
は標準だとAnsible Syntaxで表示した時に動作しないので selector
でハイライト時でも動作するように関連付けます。
yamllint
の標準設定パスは ~/.config/yamllint/config
になります。
ansiblelint
では設定パスを明示的に指定しています。
これで、準備完了です 🙂
それでは、よきSublime Textライフを!