Treasure Workflow (Digdag)のコードをGithub上で管理し、MasterにPushされたタイミングでCIを使ってTreasure Workflowにプッシュできると、Github上でコードが一元管理でき、見通しがよくなります。 Github Actionsを使うことで、Treasure Wokflowに簡単にデプロイすることができるので、簡単なActionsを作成してMarketplaceに公開してみました。
Treasure Workflow · Actions · GitHub Marketplace · GitHub
Actionsの概要
Githubで管理しているTreasure Workflowのリポジトリが一つのプロジェクトとして、MasterにPushされた際に自動でTreasure Workflowにデプロイされます。また、td wf check
(digdag check
)をpush前に実行しているので、何か構文エラーがなどがあればGithub Actionsが失敗します。
使い方
1 - コード管理に使用するリポジトリを作成し、Workflowを配置する
例: https://github.com/toru-takahashi/tdw-actions-sample/tree/master
2 - Actionsから"Setup this workflow"を選択する
3 - Github ActionsのYAMLを編集する
name: Treasure Workflow Deploy on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Treasure Workflow uses: toru-takahashi/treasure-workflow-actions@v0.0.2 with: # Treasure Workflow API Endpoint td_wf_endpoint: api-workflow.treasuredata.com # Treasure Data Master API td_master_apikey: ${{ secrets.td_master_apikey }} # Treasure Workflow Project Name td_wf_project_name: workflow
上記をPushすると自動でGithub Actionsが起動されます。 しかし、上記コードで利用されているSecretsを登録していないため、このままだとエラーになるかと思います。
4 - Secretsを登録する
GithubのUIからSettings > Secretsにて、td_master_apikey
を追加します。
これで先ほど失敗したタスクを再実行すると正常に実行され、Treasure DataのUIからもWorkflowというプロジェクトが参照できるようになります。