PHP: GitHub Actionsワークフローの設定

このドキュメントはGitHub Actionsでデプロイするガイドの一部です。完全なガイドはこちらからご覧いただけます:GitHub Actionsを使ってPHPコードをデプロイする方法

👋 Stackheroドキュメントへようこそ!

Stackheroは、高速かつ信頼性の高いデプロイを実現する PHPクラウド プラットフォームを提供しています:

  • シンプルな git push だけで、PHPアプリケーションを数秒で本番環境にデプロイできます。
  • ご自身のドメインを利用可能で、自動HTTPS証明書が設定されます。手動での作業は一切不要です。
  • 自動バックアップワンクリックアップデート、明確で予測可能な料金体系をご利用いただけます。Stackheroがこれらの運用を担当するため、コード開発に集中できます。
  • アプリケーション専用に構築されたプライベートかつ専用インフラ上で、高いパフォーマンスセキュリティを実現します。

ワークフローを効率化し、時間を節約しましょう。 Stackheroの PHPクラウドホスティング の導入は数分で完了します。

次に、デプロイを自動化するためのGitHub Actionsワークフローファイルを作成します。Gitリポジトリ内に.github/workflowsディレクトリを作成し、deploy-to-stackhero.ymlというファイルを以下の内容で追加してください:

# File: .github/workflows/deploy-to-stackhero.yml

name: Deploy to Stackhero
run-name: Deploy branch "${{ github.ref_name }}" to Stackhero

on:
  push:
    # git push時にデプロイアクションをトリガーするブランチ一覧
    # 各ブランチごとにGitHub("Settings" -> "Environments")で対応する環境を作成してください
    # その環境に"STACKHERO_SSH_PRIVATE_KEY"シークレットと"STACKHERO_ENDPOINT"変数を追加します
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-to-stackhero@v1
      with:
        # "STACKHERO_SSH_PRIVATE_KEY"シークレットと"STACKHERO_ENDPOINT"変数は、対応するGitHub環境("Settings" -> "Environments")で定義してください
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

このファイルを追加したら、以下のコマンドで変更をコミットします:

git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"

本番ブランチを作成するには、次のコマンドを実行します:

git checkout -b production

続いて、GitHubへプッシュします:

git push --set-upstream origin production

これで、コードがGitHub上のproductionブランチにプッシュされます。GitHub Actionsが自動的に実行され、対応するStackheroインスタンスへコードがデプロイされます。デプロイ状況は、GitHubプロジェクトのActionsタブから確認できます。

本番環境へデプロイしたGitHub Actions本番環境へデプロイしたGitHub Actions

おめでとうございます!これでGitHub Actionsを使った本番環境への自動デプロイが設定できました。