Akira 86c0180c3f おっしゃる通り、説明が不十分でした。整理させてください。
/workspace はコンテナ内のパスです。
docker-compose.yml
 の - .:/workspace によって、サーバーのホスト上の ~/windmill/(リポジトリルート)がコンテナ内の /workspace にマウントされています。
a.sh
 はWindmillのWorkerコンテナ内で実行されるので、スクリプト内で使う /workspace はコンテナ内のパスとして正しいです。

ただし、問題は
wmill.yaml
 がリポジトリルートではなく workflows/ サブディレクトリにある ことです。コンテナ内で言うと /workspace/workflows/ に
wmill.yaml
 があるので、スクリプトの cd /workspace を cd /workspace/workflows に変更する必要があります。

修正します:

Analyzed
a.sh#L1-63
なるほど、ポイントは以下の通りです:

cd /workspace → コンテナ内ではリポジトリルートです。しかし
wmill.yaml
 はここにはなく、workflows/ の中にあります。
wmill sync pull は
wmill.yaml
 がある場所で実行しなければ動きません。
git 操作(add, commit, push)はリポジトリルート(/workspace)で行う必要があります。
つまり、wmill sync pull は /workspace/workflows で、git 操作は /workspace で行う、という二段構えが必要です。修正します:

Edited
a.sh
+9
-5
修正しました。最終的なスクリプトの流れを確認します:

Analyzed
a.sh#L1-67
修正後のスクリプトは以下の流れになっています:

cd /workspace/workflows →
wmill.yaml
 がある場所で wmill sync pull を実行(Windmill DB → ファイルに書き出し)
cd /workspace → Gitリポジトリルートに戻って git add / commit / push(ファイル → Gitea)
ここで重要な補足:

/workspace はサーバーのホスト上のパスではなく、コンテナ内のパスです。
docker-compose.yml
 の - .:/workspace により、ホスト上の ~/windmill/(docker-composeを実行した場所)がコンテナ内の /workspace にマウントされます。
つまり、コンテナ内の /workspace/workflows/ = ホスト上の ~/windmill/workflows/ です。
a.sh
 はWindmillのWorkerコンテナ内で実行されるので、コンテナ内パス(/workspace)を使うのが正しいです。
この変更をGiteaにプッシュしますか?プッシュ後、サーバー側で git pull して再度お試しください。
2026-02-19 15:25:08 +09:00
2026-02-13 08:51:24 +00:00
2026-02-13 08:51:24 +00:00
2026-02-19 14:50:31 +09:00
2026-02-13 18:28:41 +09:00
2026-02-19 14:50:31 +09:00
Description
windmil用
280 KiB
Languages
Python 52.9%
Shell 25.7%
TypeScript 19.3%
Dockerfile 1.2%
JavaScript 0.9%