inkrss は、GitHub と Cloudflare Workers を使用して自分でデプロイできる RSS 購読サービスです。
ライブラリのインポート#
cloudflare API に関わる情報は secrets に保存されるため、リスクを減らすためにプライベートリポジトリを開設します。
貼り付け https://github.com/pureink/inkrss
ワークフローの新規作成#
以下の内容を貼り付けます
name: Deploy
on:
push:
branches:
jobs:
deploy:
runs-on: ubuntu-latest
name: Cloudflare Workersへのデプロイ
steps:
- uses: actions/checkout@master
- name: 公開
uses: cloudflare/wrangler-action@1.3.0
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
wranglerVersion: '1.13.0'
以下の内容を貼り付けます(自分のリポジトリを変更することに注意してください)
name: fetch origin
on:
push:
branches:
- main
schedule:
- cron: 0 */24 * * * # 12時間ごと
jobs:
update_external_airflow_fork:
runs-on: ubuntu-latest
steps:
- uses: TobKed/github-forks-sync-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # トークン
upstream_repository: pureink/inkrss # 上流リポジトリ
target_repository: gchengyu/inkrss_new # プッシュしたいリポジトリ
upstream_branch: main # デフォルトは上流リポジトリのmasterブランチを取得
target_branch: origin # デフォルトは自分のリポジトリのmasterブランチにプッシュ
force: false # 強制プッシュするかどうか
tags: true # - tagsを使用するかどうかを確認
CF_API_TOKEN を取得して secrets に入力#
NameCF_API_TOKEN
Value は先ほどコピーしたトークンです
KV の ID を取得して保存#
アカウント ID を取得して保存#
その後、wrangler.toml を記入します#
以下の内容を貼り付けて記入します
name = "inkrss"
type = "webpack"
account_id = "" # 上記で取得したアカウントID
workers_dev = true
route = ""
zone_id = ""
webpack_config = "webpack.config.js"
target_type = "webpack"
kv_namespaces = [
{ binding = "KV" , id = ""} # idは上記で取得したKVのID
]
[triggers]
crons = ["*/1 * * * *"]
[site]
bucket = "./public"
entry-point = "./"
保存すれば、自動的にデプロイされます。