$30 off During Our Annual Pro Sale. View Details »

Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する

Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する

seccamp 2023 LT day1

Ryusei Ishikawa

August 07, 2023
Tweet

More Decks by Ryusei Ishikawa

Other Decks in Technology

Transcript

  1. Privateリポジトリで
    管理しているソースコードを
    無料でGitHub Pagesに公開する
    ネクスト受講生・xryuseix
    (@ryusei_ishika)

    View Slide

  2. 自己紹介
    Twitter: @ryusei_ishika
    ネクストキャンプの受講生です。
    Webセキュリティと開発が好きです。
    このスライドは今朝南武線の中で書きました。
    2

    View Slide

  3. そもそもprivateリポジトリでGitHub Pagesは使用できます
    (本末転倒)
    これってstring? number?
    https://expressjs.com/ja/starter/hello-world.html
    3

    View Slide

  4. そもそもprivateリポジトリでGitHub Pagesは使用できます
    (本末転倒)
    これってstring? number?
    https://docs.github.com/ja/pages/getting-started-with-github-pages/about-github-pages
    4

    View Slide

  5. そもそもprivateリポジトリでGitHub Pagesは使用できます
    (本末転倒)
    これってstring? number?
    5

    View Slide

  6. なのでこのLTは乞食向けです
    これってstring? number?
    6
    お金持ちの皆さんはお帰りください

    View Slide

  7. じゃあまだ聞いている人は
    乞食ってことで🤟
    これってstring? number?
    7

    View Slide

  8. そもそもprivateでレポジトリを管理して、
    publicで公開したい時って何?
    これってstring? number?
    8
    * 基本的にGitで管理したいが、特定のファイルだけ公開したくない時
    * 非可逆・元に戻しにくいビルドが行われる場合
    * minifyなどを用いており、かつソースコードは公開したくない
    *ビルドにcredencialが必要な場合
    僕は特定のファイルをハッシュ化して、
    そのハッシュ値だけを公開するWebサイトが作りたかったです

    View Slide

  9. 考えました!我流なのでもっといい方法あるかも
    これってstring? number?
    9

    View Slide

  10. やりかた
    これってstring? number?
    10

    View Slide

  11. やりかた
    11
    deploy.yaml
    (publicのGitHub Actions)
    workflow_dispatchを設定しておく
    action.yaml
    (privateのGitHub Actions)
    deploy.yamlのworkflowを発火する
    Personal Access Tokenが必要!

    View Slide

  12. やりかた
    これってstring? number?
    12

    View Slide

  13. やりかた
    これってstring? number?
    13
    • actions/checkoutは別リポジトリの特定のブランチからcheckoutできる
    • さっきとは別のPersonal Access Tokenが必要!
    • 下の例ではprivateディレクトリを作成し、特定のリポジトリのmainブラン
    チをそこへ保存しています
    • この後の処理で、公開したくないファイルを削除、ビルド後のminifyされ
    たファイルだけを公開、などを行います
    ←publicの
    workflow file

    View Slide

  14. 乞食の方々、ご清聴ありがとうございました!
    これってstring? number?
    14
    まとめスライドで特に言うこともないので、
    もう一度Twitterのアカウントでも書いとき
    ます。
    @ryusei_ishika

    View Slide