背景
デプロイ先のサーバーでビルドしたものを
以下のようなUnitファイルを作ったら起動できなかった話
[Unit] Description=Run Gin [Service] User=root Group=root Environment="SERVER_ENV=production" ExecStart=/home/jenkins/go/src/hoge/gin release Restart=always KillMode=process [Install] WantedBy=multi-user.target
systemctl -l status hoge
とやってもエラーが分からず
/var/log/messages
を見るとpanic: html/template: pattern matches no files: templates/*
が出力されてました。
賢い人ならこんなミスをしないと思うけど…;;
解決
[Unit] Description=Run Gin [Service] User=root Group=root Environment="SERVER_ENV=production" WorkingDirectory=/home/jenkins/go/src/hoge ExecStart=/home/jenkins/go/src/hoge/gin release Restart=always KillMode=process [Install] WantedBy=multi-user.target
WorkingDirectory
を追加して実行パスを適切に設定してあげれば
起動できるようになりました。
Golang…難しい。