0Pricing
DevOps Bootcamp · レッスン

ステージング環境へのデプロイ

本番前のテスト用に、アプリケーションをステージング環境へ自動デプロイするワークフローを設定します。

「ステージング環境へのデプロイ」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

ステージング環境とは

アプリに新機能を実装したとします。それを全員に公開する前に(本番環境へ反映する前に)、安全で現実に近い環境でテストしたいはずです。そこで活用するのがステージング環境です。

ステージング環境は、本番環境のコピーです。リリース前の最終テストに使用し、実際のユーザーに影響を与えることなく、問題を発見して品質を確認できます。

ステージングと本番環境の違い

ステージング環境は本番環境を再現しますが、目的は異なります。

  • ステージング: 品質保証(QA)、ユーザー受け入れテスト(UAT)、最終確認に使用します。利用するのはテスターや関係者など、限られた対象者だけです。
  • 本番環境: すべてのエンドユーザーが利用する稼働環境です。ここで問題が発生すると、顧客に直接影響します。

まずステージング環境へデプロイすることは、本番環境でのリスクを最小限に抑えるための重要な手順です。

GitHub Environments機能

GitHub Actionsには、Environmentsという強力な機能があります。これを使うと、リポジトリ内にstagingやproductionのような論理的な環境を定義できます。

Environmentsを使うと、次のことができます。

  • 保護ルール(手動承認、待機タイマーなど)を適用する。
  • 環境ごとのシークレットを管理する。
  • 特定の環境へのデプロイを追跡する。

ステージング環境の宣言

ワークフローで環境を使用するには、まずリポジトリの設定で環境を定義します。

  • GitHubリポジトリに移動します。
  • Settings > Environmentsをクリックします。
  • New environmentをクリックし、たとえばstagingという名前を付けます。

ここで、デプロイにレビュアーの承認を必須にするなどの保護ルールを追加できます。

基本的なデプロイワークフローの構成

では、GitHub Actionsにstaging環境へデプロイするよう指示する方法を見てみましょう。ジョブの中で環境を指定します。

name: Deploy to Staging

on: push

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    environment: staging # This links to your 'staging' environment
    steps:
      - name: Say Hello
        run: echo "Deploying to staging!"

環境の保護設定

ワークフロー内のenvironment: stagingという行は、デプロイにラベルを付けるだけではありません。リポジトリの設定でstaging環境の保護ルールを設定している場合、そのルールが自動的に適用されます。

たとえば手動承認を必須にしている場合、このジョブは権限を持つ担当者がデプロイを確認して承認するまで一時停止します。

アプリケーションのビルド

通常、デプロイの前にアプリケーションをビルドする必要があります。これには、コードのコンパイル、テストの実行、アセットのパッケージ化などが含まれます。これらの手順をジョブに追加してみましょう。

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example build step)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

ビルドしたアーティファクトのデプロイ

ビルドが完了したら、次はアプリケーションのファイルをステージングサーバーへ転送します。通常は、SSH、FTP、またはクラウド固有のデプロイツールを使用します。

次は概念的な手順です。実際の環境では、echoを実際のデプロイコマンドに置き換えてください。

      - name: Deploy to Staging Server
        run: |
          echo "Simulating deployment to staging..."
          # scp -r ./dist user@staging.example.com:/var/www/html
          # Or use a specific deployment action for AWS, Azure, etc.

すべてを組み合わせる: ステージングワークフロー

この完全なワークフローは、developブランチへのプッシュをトリガーに実行されます。コードをチェックアウトし、アプリをビルドした後、設定した保護ルールに従って、概念的にstaging環境へデプロイします。

name: Deploy to Staging Environment

on:
  push:
    branches:
      - develop # Trigger only on pushes to the 'develop' branch

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: staging # Link this job to the 'staging' environment

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

      - name: Deploy to Staging Server
        run: echo "Deployment to staging completed!"

ステージングデプロイの理解度チェック

GitHub Actionsのワークフローを設定してステージング環境へデプロイする方法を学びました。ここで知識を確認してみましょう。

振り返り: ステージングへのデプロイ

よくできました。GitHub Actionsを設定してステージング環境へデプロイする方法を学びました。

  • ステージング環境は、本番環境に近い構成で本番前のテストを行う環境です。
  • GitHubのEnvironmentsは、デプロイの安全性とシークレットの管理に役立ちます。
  • ワークフローではenvironmentキーを使って特定の環境を対象にします。
  • この手順によりリスクを最小限に抑え、本番環境へスムーズに移行できます。

次は、環境変数とシークレットを使って機密情報を管理する方法を見ていきます。

よくある質問

「ステージング環境へのデプロイ」レッスンは無料ですか?

はい。「ステージング環境へのデプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「ステージング環境へのデプロイ」で何を学びますか?

本番前のテスト用に、アプリケーションをステージング環境へ自動デプロイするワークフローを設定します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「ステージング環境へのデプロイ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Continuous Deployment 入門
  2. ステージング環境へのデプロイ
  3. 環境変数とシークレット
  4. 承認ゲートによる本番環境へのデプロイ
← DevOps Bootcampに戻る