回答編集履歴

2

VS Code環境におけるデメリットを追記

2022/03/26 07:44

投稿

endy
endy

スコア163

test CHANGED
@@ -59,6 +59,11 @@
59
59
  ## デメリット
60
60
 
61
61
  * Projectの数だけシンボリックリンクを作成する工程は必要になります
62
+ * VS Codeでの操作には若干注意が必要です
63
+ * VS Code上でもシンボリックリンクは "一応" 認識されます (シンボリックリンクのアイコンが表示されます)
64
+ * しかし、VS Code上で`inventory/group_vars`を右クリックしてDeleteすると、そこはフォルダ扱いになって参照先の変数ファイルも巻き込んで消してしまいます
65
+ * コマンドで`rm inventory/group_vars`を実行すればシンボリックリンクだけ消えてくれます
66
+ * シンボリックリンクファイルを消したいときは、VS CodeのGUI機能ではなくInteractive Shellの`rm`コマンドなどで消す必要があります
62
67
  * シンボリックリンクに対応していないファイルシステムにシンボリックリンクファイルを持ち出すとファイルが破損する気がします (Windowsなど)
63
68
  * 未検証なのでわかりませんが、シンボリックファイルをWindowsに持っていくとただのテキストファイルになったような...
64
69
  * 例えば、以下のようなワークフローとは相性が悪いです

1

説明の文言調整

2022/03/26 07:03

投稿

endy
endy

スコア163

test CHANGED
@@ -16,8 +16,6 @@
16
16
  │   └── localhost
17
17
  │   └── test.yml
18
18
  ├── inventories
19
- │   ├── group_vars -> ../group_vars
20
- │   ├── host_vars -> ../host_vars
21
19
  │   └── localhost
22
20
  └── playbooks
23
21
  └── test.yml
@@ -30,14 +28,25 @@
30
28
  ln -s ../host_vars inventories/
31
29
  ```
32
30
 
33
- 作成したシンボリックリンク内容を示します。
31
+ シンボリック作成後treeは以下のようになります。
34
- `inventories/`配下に`group_vars`、`host_vars`という2つのシンボリックリンクが生成し、上位ディレクトリを参照するようになっています。
32
+ `inventories/`配下に`group_vars`、`host_vars`という2つのシンボリックリンクが存在し、上位ディレクトリを参照するようになっています。
35
33
  これにより、上位ディレクトリの`group_vars`、`host_vars`を読み込むことが可能となります。
36
34
 
37
35
  ```sh
38
- ansible $ file inventories/*_vars
36
+ ansible $ tree
37
+ .
38
+ ├── group_vars
39
+ │   └── all
40
+ │   └── test.yml
41
+ ├── host_vars
42
+ │   └── localhost
43
+ │   └── test.yml
44
+ ├── inventories
39
- inventories/group_vars: symbolic link to ../group_vars
45
+ │   ├── group_vars -> ../group_vars
40
- inventories/host_vars: symbolic link to ../host_vars
46
+ │   ├── host_vars -> ../host_vars
47
+ │   └── localhost
48
+ └── playbooks
49
+ └── test.yml
41
50
  ```
42
51
 
43
52
  思いつく限りのメリット/デメリットは以下のとおりです。