diff --git a/SERVER_SETUP.md b/SERVER_SETUP.md index c714734..80101b3 100644 --- a/SERVER_SETUP.md +++ b/SERVER_SETUP.md @@ -47,7 +47,9 @@ docker-compose up -d Windmill上で「登録されたワークフローをGitに保存する」機能を有効にする手順です。 ### 4-1. ワークフロー定義の取り込み(初回のみ) -サーバー上のリポジトリにあるワークフロー定義を、Windmillのデータベースに取り込みます。 + +**重要**: リポジトリ構成上、`wmill.yaml` は `workflows` ディレクトリ内にあります。 +Windmillコンテナはデフォルトでルートの `/workspace` を見ていますが、実際のデータは `/workspace/workflows` にあるため、同期時にパスを指定する必要があります。 ```bash # Windmillサーバーコンテナに入り、wmillコマンドを実行 @@ -55,6 +57,9 @@ docker exec -it windmill_server /bin/bash # コンテナ内で実行 export WM_TOKEN="<ステップ5で取得するトークン>" # まだ無ければGUIで作成してから + +# 初回同期(workflowsディレクトリを指定して同期) +cd /workspace/workflows wmill sync push --workspace admins --deploy --yes exit ``` diff --git a/workflows/u/antigravity/git_sync__flow/a.sh b/workflows/u/antigravity/git_sync__flow/a.sh index 9464fb4..ced16cc 100644 --- a/workflows/u/antigravity/git_sync__flow/a.sh +++ b/workflows/u/antigravity/git_sync__flow/a.sh @@ -9,8 +9,10 @@ NC='\033[0m' # No Color echo -e "${GREEN}=== Windmill Workflow Git Sync ===${NC}" -# 作業ディレクトリ(リポジトリルート) -cd /workspace +# リポジトリルート(コンテナ内: docker-compose.ymlの .:/workspace マウント) +REPO_ROOT="/workspace" +# wmill.yamlがあるディレクトリ(Windmill CLIはここで実行する) +WMILL_DIR="${REPO_ROOT}/workflows" # Windmill CLIのセットアップ if ! command -v wmill &> /dev/null; then @@ -29,15 +31,17 @@ fi : "${WM_WORKSPACE:=admins}" # Git設定(コンテナ内での一時設定) -git config --global --add safe.directory /workspace +git config --global --add safe.directory "$REPO_ROOT" git config --global user.email "bot@keinafarm.net" git config --global user.name "Windmill Bot" -# 1. Windmill(DB) -> Local Disk (Git Repo) +# 1. Windmill(DB) -> Local Disk(wmill.yamlがあるディレクトリで実行) echo -e "${YELLOW}Pulling from Windmill...${NC}" +cd "$WMILL_DIR" wmill sync pull --token "$WM_TOKEN" --base-url "$WM_BASE_URL" --workspace "$WM_WORKSPACE" --skip-variables --skip-secrets --skip-resources --yes || exit 1 -# 2. Local Disk -> Git Remote (Gitea) +# 2. Local Disk -> Git Remote(Gitリポジトリルートに戻ってgit操作) +cd "$REPO_ROOT" if [[ -n $(git status --porcelain) ]]; then echo -e "${YELLOW}Changes detected, committing to Git...${NC}"