最近、私が管理している小さな Web サイトの CI/CD ツールとして Codeship を使い始めました。こちらのガイドで説明されているように、Codeship プロジェクトを sftp 経由でデプロイするようにセットアップしました。
失敗する部分は本番スクリプトにあります。deploy
次の行を含むフォルダーとproduction.sh
スクリプトを作成しました。
put -rp "${HOME}/clone/build/*" /path/to/remote/dir
ただし、ビルドを実行すると、次のエラーが発生します。
sftp> put -rp "${HOME}/clone/build/*" /path/to/remote/dir
stat ${HOME}/clone/build/*: No such file or directory
Codeship$HOME
でテスト スクリプトを直接エコーすると、ホーム ディレクトリが表示されるので、環境変数が機能します。ただし、バッチ スクリプトが実行された時点では、環境変数は認識されません。
どうすればこれを修正できますか? デプロイ スクリプトでパスをハードコーディングしたくありません。ドキュメントにはスクリプトproduction.sh
しかありませんが、接尾辞を付けたためにこれが発生する可能性はないようです。production