🥀

えっちなサイトを作る(6)

2021/07/31に公開

引き続きえっちなゲームがプレイできちゃうサイトを作ろうと頑張ります。

(6)だけに無心で進めます😎

今回からはGitHub Actionを利用して投稿してます。

前回からの課題

  • 課題:GitHub Actions を使い 開発リポジトリの md ファイルを zenn に投稿する
  • 課題:関連しそうな最近の画像処理技術の調査

プロジェクト管理の環境を整える(4)

  • wsl2でGitのファイル監視処理がうまく動かない…

    • 調査したけど、微妙に分からない。拡張機能とかのせいかな…
    • 課題:wsl2 のGit機能がおかしいのを調査
  • 課題 : wsl2側のSSH-Agentがまだうまくいってない

Zenn の GitHub 連携する(2)

  • GitHub Actions を使い 開発リポジトリの md ファイルを zenn に投稿する
    • 大まかに仕組み完成
    • 基本の仕組みは以下の記事を参考にした

https://zenn.dev/tak_iwamoto/articles/c4e8677f2a50af

  • GitHubActionsの編集前に以下の準備が必要

    • Private Access Token(PAT)の発
      • UserのSettingsからいける
    • 連携するそれぞれのプロジェクトにてSettingsにあるSecretに発行したトークンを登録して、変数名(REPO_ACCESS_TOKENとか)を設定
    • ここまでやるとGitHub Actions 内で ${{ secret.XXXXXX}}で参照できる
  • 課題:自動プルリクマージ

GitHub Actions (開発リポジトリ)

ほとんど参考資料と同じ。
/doc/diary/以下でZenn CLIを初期化した。

filesync.yaml
name: dispatch target file updated
# ref. https://zenn.dev/tak_iwamoto/articles/c4e8677f2a50af

on:
  push:
    branches: [ main ]
    paths: 
      - 'docs/diary/**'
  pull_request:
    branches: [ main ]
    paths: 
      - 'docs/diary/**'

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  dispatch-target-updated:
    runs-on: ubuntu-latest
    strategy:
        matrix: 
          repo: ['user/zenn_repository']
    steps:
      - name: dispatch target-updated
        uses: peter-evans/repository-dispatch@v1
        with:
          token: ${{ secrets.REPO_ACCESS_TOKEN }}
          repository: ${{ matrix.repo }}
          event-type: target-updated

GitHub Actions (Zenn投稿用リポジトリ)

ディレクトリレベルで同期したいのでrsyncを利用。
タイムスタンプとかを考慮してくれる。

update-packages.yml

name: copy docs/diary from repository1

on:
  repository_dispatch:
    types: [target-updated]

  workflow_dispatch:

jobs:
  copy-target:
    name: copy docs/diary
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
      - name: clone project repo.
        uses: actions/checkout@v2
        with:
          repository: user/developrepo
          ref: main
          token: ${{ secrets.REPO_ACCESS_TOKEN }}
          path: repository1
      - name: rsync repository
        run: rsync -avu  repository1/docs/diary/ ./
      - name: clean repository1
        run: rm -rf repository1
      - name: create PR
        uses: peter-evans/create-pull-request@v3
        with:
          token: ${{ secrets.REPO_ACCESS_TOKEN }}
          delete-branch: true

終わり

Secretでだいぶハマってしまいました。
GithubActions苦手です…。

Discussion