手順書更新
This commit is contained in:
@@ -45,6 +45,7 @@ docker-compose up -d
|
|||||||
## ステップ4: Git同期用ワークフローのセットアップ
|
## ステップ4: Git同期用ワークフローのセットアップ
|
||||||
|
|
||||||
Windmill上で「登録されたワークフローをGitに保存する」機能を有効にする手順です。
|
Windmill上で「登録されたワークフローをGitに保存する」機能を有効にする手順です。
|
||||||
|
`git_sync` フローが定期実行されると、Windmill DB上のスクリプト/フローの変更がGiteaリポジトリに自動コミット&プッシュされます。
|
||||||
|
|
||||||
### 4-1. Windmill APIトークンの取得
|
### 4-1. Windmill APIトークンの取得
|
||||||
|
|
||||||
@@ -52,12 +53,11 @@ Windmill上で「登録されたワークフローをGitに保存する」機能
|
|||||||
2. 左下の **Settings** → **Account** をクリック
|
2. 左下の **Settings** → **Account** をクリック
|
||||||
3. **Tokens** セクションで **Create token** をクリック
|
3. **Tokens** セクションで **Create token** をクリック
|
||||||
4. Label(例: `git-sync`)を入力し、作成
|
4. Label(例: `git-sync`)を入力し、作成
|
||||||
5. 表示されたトークンをコピーしておく
|
5. 表示されたトークンをコピーしておく(後のステップで使用)
|
||||||
|
|
||||||
### 4-2. ワークフロー定義の取り込み(初回のみ)
|
### 4-2. ワークフロー定義の取り込み(初回のみ)
|
||||||
|
|
||||||
リポジトリの `workflows/` ディレクトリにある定義ファイルをWindmill DBに取り込みます。
|
リポジトリの `workflows/` にある定義ファイルをWindmill DBに取り込みます。
|
||||||
`wmill.yaml` は `workflows/` 内にあるため、コンテナ内では `/workspace/workflows` で実行します。
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Windmillサーバーコンテナに入る
|
# Windmillサーバーコンテナに入る
|
||||||
@@ -66,7 +66,7 @@ docker exec -it windmill_server /bin/bash
|
|||||||
# コンテナ内で実行:windmill-cli をインストール
|
# コンテナ内で実行:windmill-cli をインストール
|
||||||
npm install -g windmill-cli
|
npm install -g windmill-cli
|
||||||
|
|
||||||
# workflowsディレクトリに移動して sync push
|
# wmill.yamlがあるディレクトリに移動して sync push
|
||||||
cd /workspace/workflows
|
cd /workspace/workflows
|
||||||
wmill sync push \
|
wmill sync push \
|
||||||
--token "<4-1で取得したトークン>" \
|
--token "<4-1で取得したトークン>" \
|
||||||
@@ -76,31 +76,75 @@ wmill sync push \
|
|||||||
|
|
||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
※ `admins` ワークスペースが存在しない場合は、GUIで先に作成してください。
|
|
||||||
|
|
||||||
### 4-3. 認証情報の準備
|
> **注意**: `wmill sync push` はディスク→DBへの反映です。
|
||||||
Gitへのプッシュを行うため、Giteaのアクセストークンを含むリモートURLを設定します。
|
> 逆に `wmill sync pull` はDB→ディスクへの反映です。
|
||||||
|
> スケジュールされた `git_sync` フローが `sync pull` を実行するため、
|
||||||
|
> **UIで直接スクリプトを修正した場合、次回の sync pull で正しくディスクにも反映されます。**
|
||||||
|
|
||||||
|
### 4-3. Gitea認証情報の設定(git push用)
|
||||||
|
|
||||||
|
`git_sync` フローが Gitea へ `git push` できるよう、サーバー上のリモートURLにGiteaのアクセストークンを含めます。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /home/windmill/windmill
|
# サーバーのホスト側で実行
|
||||||
# Giteaのアクセストークンを含んだURLを設定(git pushのため)
|
cd ~/windmill
|
||||||
git remote set-url origin https://<username>:<token>@gitea.keinafarm.net/akira/windmill.git
|
|
||||||
|
# 現在のリモートURLを確認
|
||||||
|
git remote -v
|
||||||
|
|
||||||
|
# Giteaのアクセストークンを含んだURLに変更
|
||||||
|
git remote set-url origin https://<username>:<giteaトークン>@gitea.keinafarm.net/akira/windmill.git
|
||||||
```
|
```
|
||||||
※ `<username>` と `<token>` は適切なものに置き換えてください。
|
|
||||||
|
|
||||||
### 4-4. Variableの設定
|
> **Giteaトークンの作成方法**: Gitea(`https://gitea.keinafarm.net`)にログイン →
|
||||||
WindmillのWeb画面(Variables)で、以下の変数を設定します。
|
> 右上アバター → Settings → Applications → Generate New Token
|
||||||
- **WM_TOKEN**: WindmillのService Token(Settings -> Tokensで作成)。`Sync` 権限が必要です。
|
|
||||||
- **WM_WORKSPACE**: `admins` (または使用しているワークスペース名)
|
|
||||||
|
|
||||||
### 4-5. スケジュール実行の確認
|
### 4-4. WM_TOKEN Variable の設定
|
||||||
`git_sync` フローが登録され、スケジュール設定(`git_sync.schedule.yaml`)も取り込まれていれば、自動的に同期が開始されます。Runsページで実行ログを確認してください。
|
|
||||||
|
WindmillのWeb画面で、`git_sync` フローが使用する変数を登録します。
|
||||||
|
|
||||||
|
1. 左メニューの **Variables** をクリック
|
||||||
|
2. **+ Variable** をクリック
|
||||||
|
3. 以下を入力:
|
||||||
|
- **Path**: `u/antigravity/wm_token`
|
||||||
|
- **Value**: 4-1で取得したWindmill APIトークン
|
||||||
|
- **Is Secret**: ✅ オン
|
||||||
|
4. **Save** をクリック
|
||||||
|
|
||||||
|
> **注意**: `git_sync` フローのスクリプト(`a.sh`)内で `$WM_TOKEN` として参照されます。
|
||||||
|
> フローのInput設定で、この変数が正しく紐づけられていることを確認してください。
|
||||||
|
|
||||||
|
### 4-5. git_sync フローの手動実行テスト
|
||||||
|
|
||||||
|
1. Windmill UI で **`u/antigravity/git_sync`** フローを開く
|
||||||
|
2. **Run** ボタンで手動実行
|
||||||
|
3. **Runs** ページで実行ログを確認
|
||||||
|
4. 成功すれば、Giteaリポジトリに自動コミットが作成されているはず
|
||||||
|
|
||||||
|
### 4-6. スケジュール実行の確認
|
||||||
|
|
||||||
|
`git_sync.schedule.yaml` により、2分ごとに自動実行されるスケジュールが登録されています。
|
||||||
|
左メニューの **Schedules** から、スケジュールが有効になっていることを確認してください。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## トラブルシューティング
|
## トラブルシューティング
|
||||||
|
|
||||||
### 開発環境(ローカル)での起動
|
### ディスク上のファイルが古い内容に戻る
|
||||||
ローカルで起動する場合は、リネームされた `docker-compose-dev.yml` を使用します:
|
`git_sync` フローが `wmill sync pull`(DB→ディスク)を実行するため、UIで修正した内容がディスクに上書きされます。
|
||||||
|
スクリプトの修正は **Windmill UI上で直接編集** するのが確実です。
|
||||||
|
|
||||||
|
### git push が失敗する
|
||||||
|
```bash
|
||||||
|
# サーバー上でリモートURLにトークンが含まれているか確認
|
||||||
|
cd ~/windmill
|
||||||
|
git remote -v
|
||||||
|
# https://<user>:<token>@gitea.keinafarm.net/... の形式であること
|
||||||
|
```
|
||||||
|
|
||||||
|
### 開発環境(ローカル)での起動
|
||||||
|
ローカルで起動する場合は `docker-compose-dev.yml` を使用します:
|
||||||
```bash
|
```bash
|
||||||
docker-compose -f docker-compose-dev.yml up -d
|
docker-compose -f docker-compose-dev.yml up -d
|
||||||
```
|
```
|
||||||
@@ -108,4 +152,4 @@ docker-compose -f docker-compose-dev.yml up -d
|
|||||||
### ログ確認
|
### ログ確認
|
||||||
```bash
|
```bash
|
||||||
docker-compose logs -f
|
docker-compose logs -f
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user