9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Actionsで長いコマンドの分割にバックスラッシュは使えない

Posted at

長いコマンドオプションを分割するときは、バックスラッシュではなくYAMLのfolded styleを使いましょう。

ダメなパターン

シェルスクリプトでやるように、バックスラッシュ\で区切るとうまくいきません。

steps:
  - name: Deploy
    run: rsync -avzr \
      -e "ssh -i ssh_id -p $SSH_PORT -o UserKnownHostsFile=known_hosts" \
      --delete \
      ./public/ \
      ${SSH_USER}@${SSH_HOST}:${PUBLIC_DIR}

ちなみに、この場合だと

rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.3]
Error: Process completed with exit code 255.

のエラーが出ます。

動くパターン

>を利用したfolded styleで記述します。末尾以外の改行がスペースと解釈されます。

steps:
  - name: Deploy
    run: >
      rsync -avzr
      -e "ssh -i ssh_id -p $SSH_PORT -o UserKnownHostsFile=known_hosts"
      --delete
      ./public/
      ${SSH_USER}@${SSH_HOST}:${PUBLIC_DIR}

GitHub Actions関連の記事ではバックスラッシュで区切っているものがあり、かつてはバックスラッシュの区切りでも動作していたようです。しかし、現在は有効な記法ではありません。

参考文献

9
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?