はじめに
GitHub Actions は、ビルド、テスト、デプロイのパイプラインを自動化できる継続的インテグレーション/継続的デリバリー (CI/CD) プラットフォームです。リポジトリへのすべてのプルリクエストに対してビルドとテストを実行したり、マージされたプルリクエストを本番環境にデプロイしたりするワークフローを作成できます。
この実験(Lab)では、GitHub Actions の使用を開始するために必要な初期設定について学習します。GitHub リポジトリの作成、ローカル開発環境へのクローン、そして GitHub Actions がワークフローを認識するために必要とする特定のディレクトリ構造の設定手順を順を追って行います。
前提条件
- GitHub アカウント (https://github.com)。GitHub アカウントをお持ちでない場合は、まず https://github.com/signup で無料アカウントに登録する必要があります。これは、この実験(Lab)を完了するための前提条件です。
- コマンドラインに関する基本的な知識。
GitHub ウェブサイトで新しいリポジトリを作成する
このステップでは、GitHub ウェブサイト上に新しいリポジトリを作成します。このリポジトリは、プロジェクトのリモートストレージとして機能し、GitHub Actions ワークフローが実行される場所となります。
- ウェブブラウザを開き、https://github.com に移動します。
- GitHub アカウントにログインします。
- どのページでも右上隅にある + ドロップダウンメニューを使用して、New repository (新規リポジトリ) を選択します。
- Repository name (リポジトリ名) ボックスに
github-actions-demoと入力します。 - Public (公開) を選択します (GitHub Actions はパブリックリポジトリでは無料です)。
- Add a README file (README ファイルを追加) のチェックボックスをオンにします。これにより、リポジトリが初期化され、クローンする準備が整います。
- Create repository (リポジトリを作成) をクリックします。

これでリモートリポジトリが作成されました。次のステップでは、このリポジトリをローカル環境に持ってきます。
git clone コマンドを使用してリポジトリを Ubuntu VM にクローンする
このステップでは、作成したばかりのリポジトリをローカルの LabEx 環境にクローンします。これにより、ファイルを編集したり、ワークフローをローカルで作成したりできるようになります。
- GitHub リポジトリのページで、緑色の Code ボタンをクリックします。
- HTTPS タブが選択されていることを確認し、URL をコピーします。URL は
https://github.com/your-username/github-actions-demo.gitのような形式になっているはずです。 - LabEx 環境でターミナルを開きます。デフォルトのパスは
~/projectです。 git cloneコマンドを使用してリポジトリをダウンロードします。your-usernameは実際の GitHub ユーザー名に置き換えてください。
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
出力例:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
- ディレクトリが作成されたことを確認します。
ls -F
github-actions-demo/ がリストに表示されるはずです。
リポジトリ内に .github/workflows ディレクトリを作成する
GitHub Actions は、リポジトリ内の特定のディレクトリ、すなわち .github/workflows 内にあるワークフロー設定ファイルを検索します。このステップでは、このディレクトリ構造を作成します。
- リポジトリのディレクトリ内にいることを確認します:
cd ~/project/github-actions-demo
mkdirコマンドに-p(parents) フラグを付けて、.githubディレクトリと、その内部にworkflowsサブディレクトリを作成します:
mkdir -p .github/workflows
- Git は空のディレクトリを追跡しません。次のステップでこの構造をコミットできるように、このディレクトリ内に
main.ymlという名前のシンプルな空のワークフローファイルを作成しましょう。
touch .github/workflows/main.yml
- 構造を確認します:
ls -R .github
出力例:
.github:
workflows
.github/workflows:
main.yml
この構造は不可欠です。GitHub は、.github/workflows に配置された YAML ファイルのみを Action ワークフローとして認識します。
git add、git commit、git push を使用してディレクトリの変更をコミットおよびプッシュする
このステップでは、新しいディレクトリ構造をコミットし、GitHub にプッシュします。
- コミット対象として新しいファイルをステージングします:
git add .
- 説明的なメッセージを付けて変更をコミットします:
git commit -m "Setup GitHub Actions workflow directory"
出力例:
[main ... ] Setup GitHub Actions workflow directory
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .github/workflows/main.yml
- 変更を GitHub 上のリモートリポジトリにプッシュします:
git push
認証に関する注意:
git pushを実行すると、WebIDE が自動的に認証を求めます。以下の詳細な手順に従ってください:
- "The extension 'GitHub' wants to sign in using GitHub." というメッセージが表示されたポップアップが表示されます。Allow をクリックします。
- 新しい通知が表示されます。**"Copy&Continue to GitHub"** をクリックし、次のプロンプトで "Open" をクリックします。
- 開いたブラウザウィンドウで GitHub アカウントにログインし、コピーされた認証コードを入力します。認証を確認した後、ページは自動的に閉じます。
- 数秒待つと、ターミナルでプッシュ操作が正常に完了したことが表示されます。

プライバシーに関する注意: WebIDE は認証目的で GitHub アカウントへのフルアクセスを要求します。プライバシーの懸念は不要です。現在の実験(Lab)が完了すると、LabEx VM は直ちに破棄され、認証情報や認可情報は保持されません。
この認証プロセスでは、ユーザー名や Personal Access Token を手動で設定する必要はありません。
認証手順に従った後、以下のような出力が表示されます:
出力例:
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 388 bytes | 388.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/your-username/github-actions-demo.git
2e0917f..a191a97 master -> master
- Web ブラウザで GitHub 上のリポジトリにアクセスし、
.github/workflowsディレクトリとmain.ymlファイルがリポジトリ構造内に表示されていることを確認してください。
まとめ
この実験(Lab)では、GitHub Actions を使用するための基盤設定を正常に完了しました。以下のことを行いました。
- GitHub 上に新しいリポジトリを作成しました。
- リポジトリをローカル環境にクローンしました。
- 必須である
.github/workflowsディレクトリ構造を作成しました。 - これらの変更をコミットし、GitHub にプッシュしました。
この構造が整ったことで、workflows ディレクトリ内の YAML ファイルを編集し、CI/CD ワークフローを定義する準備が整いました。



