Skip to content

2. リポジトリを作成する ​

概要 ​

ローカルで Git を初期化し、利用可能な GitHub アカウントまたは Organization に演習用リポジトリを作成します。

手順 ​

1. GitHub の認証を確認する ​

演習に使用する GitHub アカウントの認証状態を確認し、意図したアカウントで操作できる状態にします。

Agent モードで以下の指示を与えます。

text
GitHub CLI の認証状態と github.com の認証先アカウントを確認してください。
未認証の場合は Web ブラウザーを使うログインが必要なこと、認証先と権限への影響を説明し、askQuestions で承認を得てから gh auth login --hostname github.com --web を実行してください。
表示されたアカウントがリポジトリ作成に使うアカウントかを私に確認し、認証情報そのものは表示しないでください。

次を確認します。

  • github.com の認証状態と認証先アカウントが報告されている
  • 未認証の場合は、認証先と権限への影響を確認して明示的に承認するまでログインが実行されていない
  • 表示されたアカウントがリポジトリ作成に使うアカウントである
  • 認証情報そのものが表示されていない

2. ローカルリポジトリを初期化する ​

スターターのルートを Git リポジトリとして初期化し、初期ブランチが main であることを確認します。

Agent モードで以下の指示を与えます。

text
既存の AGENTS.md と git-workflow Skill のガードレールに従ってください。
現在のフォルダーと Git の状態を確認し、このスターターのルートが対象で、まだ Git リポジトリではない場合だけ main を初期ブランチとして git init -b main を実行してください。
既存リポジトリ、親リポジトリ、または対象不明を検出した場合は変更せず質問してください。
実行後に現在のブランチと作業ツリーの状態を確認してください。

次を確認します。

  • 対象がスターターのルートであり、既存または親の Git リポジトリではない
  • 初期ブランチが main である
  • 実行後の現在のブランチと作業ツリーの状態が報告されている
  • 対象が不明な場合は変更されていない

3. 最初のコミットを作成する ​

Git の作者情報を確認し、スターターの初期ファイルを最初のコミットとして記録します。スターターの初期ファイルを記録する最初のコミットを作成し、作業ツリーが clean な状態にします。

Agent モードで以下の指示を与えます。

text
既存の AGENTS.md と git-workflow Skill のガードレールに従ってください。
現在のブランチ、作者情報、変更一覧、ステージ対象を確認し、このスターターの初期ファイルだけをステージして、chore: add workshop starter という1件のコミットを作成してください。
コミットの対象と影響を要約し、askQuestions で明示的な承認を得てから実行してください。対象不明、秘密情報の疑い、状態不整合があれば変更せず質問し、push は行わないでください。
実行後にコミットと作業ツリーの状態を確認してください。

次を確認します。

  • コミットの対象がスターターの初期ファイルだけである
  • コミットメッセージが chore: add workshop starter である
  • 対象と影響を確認して明示的に承認するまでコミットが実行されていない
  • コミット後の作業ツリーの状態が報告され、push は実行されていない
Git の作者情報が未設定の場合

次のコマンドで、作者名とメールアドレスを確認します。

shell
# Git に設定された作者名を表示します
git config --get user.name

# Git に設定された作者メールアドレスを表示します
git config --get user.email

user.name または user.email が表示されない場合は、YOUR_NAME と YOUR_EMAIL を自分の情報へ置き換え、このリポジトリに設定します。メールアドレスを公開したくない場合は、GitHub の noreply メールアドレスを使用できます。

shell
# このリポジトリで使用する Git の作者名を設定します
git config user.name "YOUR_NAME"

# このリポジトリで使用する Git の作者メールアドレスを設定します
git config user.email "YOUR_EMAIL"
補足: コミットメッセージの規約

このハンズオンでは、変更の種類が分かるように Conventional Commits の形式を使用します。

text
<type>: <description>

例えば、chore: add workshop starter の chore は、機能追加や不具合修正ではない準備作業を表します。主な type は次のとおりです。

  • feat: 機能を追加する
  • fix: 不具合を修正する
  • docs: ドキュメントを変更する
  • test: テストを追加または変更する
  • ci: CI/CD の設定を変更する
  • chore: その他の保守作業を行う

description には、変更内容を簡潔に記述します。

4. GitHub リポジトリを作成する ​

GitHub のリポジトリは、Owner と Repository name を指定して作成します。

項目説明本ワークショップの想定
Ownerリポジトリの所有者。自分のアカウントまたは所属する Organization を指定します。手順1で認証またはサインインを確認した自分のアカウント
Repository name作成するリポジトリの名前。github-cicd-workshop

特定の Organization に作成するよう講師から指定された場合は、その Organization を Owner に指定します。Owner に同じ名前のリポジトリが既にある場合は、Repository name を github-cicd-workshop-2 のように変更してください。

GitHub に演習用リポジトリを作成して Pages を設定し、ローカルの main を初回 push できたことを確認します。

Agent モードで以下の指示を与えます。

Owner や名前を変更する場合は、プロンプト内の値も置き換えます。

text
既存の AGENTS.md と git-workflow Skill のガードレールに従ってください。
認証先アカウント、現在のブランチとコミット、remote の有無を確認してください。作成候補は Owner が認証中の自分のアカウント、名前が github-cicd-workshop、Public、説明が GitHub CI/CD workshop です。
同名リポジトリの有無を調べ、これから行う外部変更(Public リポジトリ作成、Pages の Source を GitHub Actions に設定、origin 追加、main の初回 push)について、対象、公開範囲、各値、影響を要約してください。
askQuestions で私が Owner、リポジトリ名、Public 公開、Pages 設定、push を明示的に承認するまで実行しないでください。対象不明、既存 remote、状態不整合があれば変更せず質問してください。
承認後だけ順に実行し、作成した URL、Pages の build_type、origin、push 先を確認して報告してください。

次を確認します。

  • Owner、リポジトリ名、Public 公開、Pages 設定、push 先が意図した値である
  • 外部変更の対象、公開範囲、影響を確認して明示的に承認するまで実行されていない
  • 作成した URL、Pages の build_type、origin、push 先が報告されている
  • 既存 remote や状態の不整合がある場合は変更されていない

リポジトリの Visibility 設定

Private リポジトリで GitHub Pages を利用できるプランは限られています。また、Private リポジトリから公開しても、Pages サイト自体は公開される場合があります。詳しくは、GitHub Docs の GitHub のプランを確認してください。本ハンズオンでは、プランに依存せず利用可能な Public リポジトリを使用する想定です。

5. Workflow を確認する ​

初回 push で開始された CI と Pages の Workflow を確認し、実行状態と対象リポジトリが正しいことを確かめます。

Agent モードで以下の指示を与えます。

text
現在の origin が指す GitHub リポジトリを特定し、直近5件の Workflow run を読み取り専用で確認してください。
CI と Pages の run が開始または完了しているか、各状態と URL を要約してください。リポジトリを特定できない場合は変更せず質問し、Workflow の再実行や設定変更は行わないでください。

次を確認します。

  • 対象が現在の origin が指すリポジトリである
  • CI と Pages の Workflow run の状態と URL が報告されている
  • Workflow の再実行や設定変更が行われていない

初回 push により、CI と Pages の Workflow が開始されます。Pages の結果は後の記事で確認します。

確認事項 ​

  • origin が今回作成した GitHub リポジトリを指している
  • 現在のブランチが main である
  • 作業ツリーが clean である
  • CI と Pages の Workflow run が開始または完了している

まとめ ​

GitHub 上に演習用リポジトリを作成し、スターターを push しました。