github actionに手を出してみたんです
サイトをNextJsで運用していますが、従来は何か修正をするたびに、サーバーに潜り込んで、ビルドしていました。
今までのお仕事でも「Jenkinsおじさん」がいて、画面のボタンポチポチするだけでビルドやらなんやらをやってくれてました。
なんだかかっこいいので、私のサイトでもそれを適用しようと思い、github actionに初めて手を出していたわけです。
github actionだと、コマンドが通らない
yarnっていうコマンドがあるんです。フロントエンドエンジニアの方なら親の顔よりも見たコマンドかもしれません。
依存関係インストールしたり、削除したり、はたまた開発環境で動かしたり、ビルドしたり。。。
そんなコマンドが、github actionだと怒られちゃうんです。
github actionは下記の感じでymlを書いてます(だいぶ省略してます)
name: Deploy to Production
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to server
run: |
ssh -o StrictHostKeyChecking=no ueeeei@xxx.xxx.xxx.xxx << 'EOF'
git pull
yarn install
yarn build
EOF
こんな感じで怒られます
-bash: line 2: yarn: command not found
sshでコマンド実行すると、なんかpathが違うっポイ
どうやら、SSHでコマンドを実行すると、PATHが全然通ってない状態になるみたいです
tera termでssh接続した後に、コマンド実行
xxxx@vm-05ec713a-b5:~/.ssh$ echo $PATH
/home/xxxx/.local/bin:/home/xxxx/.nvm/versions/node/v20.10.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
ローカル端末から直接sshでコマンドをたたく
C:\Users>ssh -i C:\Users\xxxx\.ssh\id_rsa_conoha_server xxxx@xxx.xxx.xxx.xxx echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
C:\Users>
とっても少なくなってます。。。

フルパスでたたくしかないのか・・・
パスが通ってないからと言ってコマンドはたたけないわけではありません。
大本をたたいてやればいいのです。荷が重いけどそうするかあ、、、、
犠牲者を増やさないためにも書きました(原因わからなさすぎて1時間つぶれた😒😒😒😒)