1
0

【 ライブラリ開発】Githubで認証付きライブラリを作成する方法

Posted at

背景

  • 自分が業務でよく利用するcodeをライブラリ化しcodeの共通化と業務効率化を図りたい。
  • 業務で使用するcodeなので組織外の人間にはアクセスできないようにしたい。
  • 上記の要件を満たすライブラリの作成方法を調査したので、その手順書である。
  • いったん自分用として記載するため、いつもの投稿より文体やまとめ方が雑である。

目標

  • github-hosted-pypiを使用して、認証付きライブラリを作れるようになる。

認証付きライブラリのリポジトリの構築手順

  • github-hosted-pypiの「USE THIS TEMPLATE」をクリックする。
  • 適当なRepository nameを入力する。
  • Publicでリポジトリを作成する。(有料プランであれば、PrivateGitHub Pagesを公開することが可能)
  • 作成されたリポジトリページでSettingsに移動する。
  • 左のサイドバーからPagesに移動する。
  • Branchセクションで、GitHub Pagesのソースとなるブランチを選択する。(基本はmain「/(root)」で良いと思われる。)
  • 「Save」(保存)ボタンをクリックする。
  • mainブランチで適当にpushする。
  • 設定が適切であればGithub Actionsが起動し、GitHub Pagesの機能でWeb Pageが公開される。(Github Actionsの完了まで少し時間がかかる。
  • 公開されたWeb PageURLは、先ほどGitHub Pagesの設定をした場所(SettingsPages)の上部に表示される。

認証付きライブラリのリポジトリの使い方

  • ここから、作成した認証付きライブラリの公開・削除などの運用方法について記載する。
  • 使用したgithub-hosted-pypiの機能により、作成したリポジトリのActionsのタブに新しいworkflowとして (register / update / delete)の3つのworkflowが追加される。
  • この3つのworkflowを使用し、ライブラリの公開・追加・削除・updateなどの運用操作を行っていく。
  • これらのworkflowの機能を正常に動かすために、workflowができる操作の権限をupdateする。
  • SettingsからサイドバーのActionsを選択する。
  • Workflow permissionsセクションで、Read and write permissionsに権限を変更する(ラジオボタンを選択する。)。
  • また、Allow GitHub Actions to create and approve pull requestsにもチェックボックスを入れ、Saveをクリックする。
  • 上記の設定で、(register / update / delete)を使用できるようになる。

ライブラリの削除方法delete Workflowの使い方

  • 試しに、deleteを使用して、現在存在するprivate-helloライブラリを削除してみる。
  • Actionsに移動する。
  • サイドバーからdeleteを選択する。
  • 右側のRun workflowをクリックし、Package nameprivate-helloを入力し、緑ボタンのRun workflowをクリックし、delete Workflowを実行する。
  • 実行したdelete Workflowが終了するまでしばらく待機する。(実行状況はサイドバーのAll workflowsから確認できる。)
  • 正常に成功した場合、Pull requestが作成されるので、Pull requestsに移動する。
  • 作成された[🤖] Delete private-hello{ここは入力したPackage nameになる} from PyPi indexPull requestに移動する。
  • Merge Pull requestconfirmをクリックしdelete Workflowで作成されたPull requestMergeする。
  • 適切にMergeされれば、GitHub Pagesから該当のPackage nameが削除され、またリポジトリのtopからも該当のライブラリのディレクトリが削除される。

ライブラリの公開方法register workflowの使い方

  • 次に作成したライブラリの公開方法を紹介する。
  • ライブラリの公開にはregister workflowを使用する。
  • 前提として、独自で作成したライブラリがあり、privateリポジトリで作成されており、tagをつけたcommitがあることとする。(リポジトリはpublicでも良いと思われるがそれだと認証付きのライブラリの公開方法とはならないと思われる。)
  • Actionsのサイドバーregisterを選択しRun workflowをクリックすると以下の入力が求められる。
    • Package name:作成した独自ライブラリの名前を入力(ライブラリを入れたリポジトリ名で良いと思われる。)
    • Version of the package(tag name):該当ライブラリで公開するcommittag名を入力する。
    • Author(s) of the package:ライブラリの作成者名を入力する。通常は自分のはずだと思うので、無難にgithubの登録名を入力で良いと思われる。
    • A short description of the package to show on the index:ライブラリの簡単な説明を入力する。公開されているGithub Pagesのライブラリの概要に表示されることになる内容。
    • Homepage of the package (link to the github repository):公開するライブラリのgithuburlを入力する。
  • 上記の情報を入力し、Run workflowをクリックしPull repuestを作成する。
  • 先ほどと同様の手順で作成されたPull requestMergeを行い、自作のライブラリを公開する。

認証付きのライブラリのinstall方法

  • 別途追記予定

参考資料

個人ブログ

個人開発サイト

ぐらふつくーる

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0