クライアントでPowerShellを使ってみて

713 Views

October 09, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

クライアントで PowerShellを使ってみて Write by 松井敏 第 6 回 PowerShell 勉強会 2016-04-09

2.

Myself 名前:松井 敏 a.k.a 森理 麟 所属:株式会社Codeer 著書: Unity5 3Dゲーム開発講座 表彰:Microsoft MVP サイト: http://karaage.click 2

3.

今日話すこと そもそもやりたかったこと ま、作ってみる が、クライアント環境ならで はの問題点 で、理想の環境設定 3

4.

そもそもやりたかっ たこと 4

5.

当時、僕の仕事は環境整備 やりたかった こと 5

6.

CIやCDを駆使して大分環境を 自動化していた やりたかった こと 6

7.

ただ今まで環境がなかったデ ザイナなどの設定するため、 事前準備が結構あった。 やりたかった こと 7

8.

僕自身が設定したり、同じ説 明を繰り返したりするのが手 間だし時間がかかる やりたかった こと 8

9.

やりたかった こと スタジオ全体だったので、新 人が入ったり、パソコンの入 れ替えがあったりと年単位で 見ても結構回数もあった 9

10.

マニュアルも書いたりもして、 これやっといてーとしたけれ ど、トラブルことも多かった やりたかった こと 10

11.

じゃどうすれば楽になるの か? やりたかった こと 11

12.

バッチを一つ用意して、これ を叩いたら環境設定全部終わ るよーが理想 やりたかった こと 12

13.

Bootstrap.batを作る! やりたかった こと 13

14.

ま、作ってみる 14

15.

というわけで作ってみようと 思った で、作ってみ る 15

16.

で、作ってみ る ツール、 Gitとかrubyとかの自 動インストール 環境変数の設定 バージョン管理の自動ダウン ロード バッチとか叩く。コピーとか 半日とかかかるので終了連絡 16

17.

で、作ってみ る バッチで出来ることも限られ ているなー。出来るかもしれ ないけれどできないかもしれ ない。 17

18.

そんな時にちょっと興味を持 ち始めていたのがPowerShell。 で、作ってみ る 18

19.

じゃあPowerShellで作って見よ うかなと で、作ってみ る 19

20.

で、作ってみ る インストールはmsiを叩くだけ で意外といけた 環境変数も出来る君 バッチとかは勿論叩けた メールも意外とサクッと 20

21.

でけた。でけた。 で、作ってみ る 21

22.

最終的にはbootstrap.batにし て、これを叩いたらインス トール完成!な感じ で、作ってみ る 22

23.

さらにchocolateyを知る。め ちゃ便利 で、作ってみ る 23

24.

Choco install git Choco install ruby で、作ってみ る 24

25.

で、作ってみ る これだけ インストールの環境設定は powershellなら行けるなーとい う感触 25

26.

が、クライアント環 境ならではの問題点 26

27.

実験では意外と上手くいって いたけれど、問題点がそれは それは一杯あった が、クライア ント環境なら ではの問題点 27

28.

そもそもbatが動かないケース もある が、クライア ント環境なら ではの問題点 28

29.

ユーザーアカウント制御とか で、一行目でアウト! が、クライア ント環境なら ではの問題点 powershell Set-ExecutionPolicy RemoteSigned powershell .\main.ps1 powershell Set-ExecutionPolicy Restricted 29

30.

「管理者権限で実行して ねー」は意外と口頭では伝わ らない が、クライア ント環境なら ではの問題点 30

31.

インストールが途中で失敗す ることもある が、クライア ント環境なら ではの問題点 31

32.

新しいrubyと古いrubyが両方 入っていたり が、クライア ント環境なら ではの問題点 32

33.

が、クライア ント環境なら ではの問題点 サイレントインストールだと パスが書かれてなかったり、 新バージョンでパスが変わっ たり 33

34.

パス文字列が2048文字超えた り が、クライア ント環境なら ではの問題点 34

35.

バージョンアップしたらサイ レントインストールが動かな くなったり が、クライア ント環境なら ではの問題点 35

36.

そういうエラー検地がまた難 しい が、クライア ント環境なら ではの問題点 36

37.

メールが届かなったり が、クライア ント環境なら ではの問題点 37

38.

メールが届きすぎたり が、クライア ント環境なら ではの問題点 38

39.

メール爆弾を作ってしまった り が、クライア ント環境なら ではの問題点 39

40.

が、クライア ント環境なら ではの問題点 Gitのcheckoutがちゃんと動か なかったり。 これは色々問題があって、全 消しが理想 でも時間はかかりすぎる 40

41.

が、クライア ント環境なら ではの問題点 アンインストールも同様。で もアンインストールは実はと ても難しい。 冪統性がなさ過ぎて泣ける 41

42.

が、クライア ント環境なら ではの問題点 冪統性 クライアントでの一番の問題 点は、この冪統性がとれない こと そしてクライアントで冪統性 を取ることは究極に難しいと 思う 42

43.

が、クライア ント環境なら ではの問題点 何故なら、毎日使っているパ ソコンの環境は日々変わる 会社のような制限されている 環境ですら、隣の人と設定は 色々違うはず 究極にいえばクライアントに 同じパソコンなんてない 43

44.

が、クライア ント環境なら ではの問題点 加えてアンインストールシス テムに冪統性がなさすぎる。 完全な設定をするなら本来全 部更地にするのが一番 そうであればゴミが残ってい てぶつかったり、他との依存 が解消できる 時間もかかりすぎるし現実的 にはほぼ不可能 44

45.

が、クライア ント環境なら ではの問題点 もう一つ問題としてバージョ ンアップの対応 もう1回bootstrap.bat叩いて よーが理想 ところが消す処理が入ってい ると再度やり直しで時間がか かる 消さないとうまく入らないも のもある 45

46.

が、クライア ント環境なら ではの問題点 結局bootstrap.batの成功率は7 割ぐらい。その都度問題点も 違ったり、手動で再度やった り再現しなかったりでなかな か完全に潰すことはできず 46

47.

で、理想の環境設定 47

48.

色々話した結果、完全な bootstrap.batを作るのはなか なかになかなか で、理想の環 境設定 48

49.

でも、現状ではサーバーで理 想の方法が提案されている で、理想の環 境設定 49

50.

それがImmutable Infrastructure で、理想の環 境設定 50

51.

でも現実問題としてクライア ント環境で全部消せば良い じゃんはほぼ無理ゲー で、理想の環 境設定 51

52.

で、理想の環 境設定 そうなると、これが現実的か はまだ分からないけれど、や はり仮想環境での新規設定が 一番良いかもしれない 52

53.

で、理想の環 境設定 サービスでもMVPとミニマム で作ることこそが正義。だっ たら開発環境もミニマムが一 番。 53

54.

で、理想の環 境設定 実際問題1台のパソコンに2環 境を同時に整備することはと てもハードルが高い。例えば 必要なソフトのバージョンが 違ったり 54

55.

そうなると必要な環境毎に切 り分けられるしやはりミニマ ムは強い。 で、理想の環 境設定 55

56.

あ、Windows10でマルチデス クトップとかそれが出来るか と思ったけれど酷すぎた。。。 で、理想の環 境設定 56

57.

で、理想の環 境設定 ミニマムで作っておけばフ リーズドライも出来る。おそ らく昔の環境をバックアップ したものは動かないと思う 57

58.

で、理想の環 境設定 というわけで結論! クライアントの完璧な環境設 定はかなりハードルが高い これを実現するのであれば Immutable Infrastructureしかな いかな? 58

59.

ご清聴ありがとうございまし た おわりに 59