Quantcast
Channel: もくもくブログ
Viewing all articles
Browse latest Browse all 216

MacでVagrant上のVMを自動起動する方法

$
0
0

VM上にある開発サーバとかを自動起動したいのでやってみました。

~/Library/LaunchAgentsに好きな名前のplistファイルを作成します(ここではvagrant.startup.plist)

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><key>EnvironmentVariables</key><dict><key>PATH</key><string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string></dict><key>Label</key><string>vagrant.startup</string><key>ProgramArguments</key><array><string>sh</string><string>[Shell script名]</string></array><key>RunAtLoad</key><true/><key>StandardErrorPath</key><string>/tmp/vagrant.startup.agent.stderr</string><key>StandardOutPath</key><string>/tmp/vagrant.startup.agent.stdout</string><key>UserName</key><string>[ユーザー名]</string><key>WorkingDirectory</key><string>[Shell scriptを配置したディレクトリ]</string></dict></plist>

Shell script

cd[VMのディレクトリ]&& vagrant up
cd[VMのディレクトリ]&& vagrant up
# 必要な数だけ起動

ポイントは

  • PATHを明示的に指定
  • Shell Scriptを叩いてvagrantのVMを起動
  • ユーザーを指定

StandardErrorPathとStandardOutPathはデバック時に役に立ちますがなくても良いです。

Macを再起動すれば自動的にplistが読み込まれますので、VMが起動していればokです。


気になるのは、VM起動したまま再起動すると起動時にVMが中断の状態になってしまうことです。

shutdown時にVMを安全にshutdownさせたいので調べてみると

など幾つか情報がでてきますが、今のところうまくいっていません。

とりあえず、中断状態からでも正常に起動してるみたいなのでこれでいいかという感じです。


Viewing all articles
Browse latest Browse all 216

Trending Articles