ホームページ  >  記事  >  バックエンド開発  >  GitHub Actions を使用して PHP プログラムの自動パッケージ化とデプロイメントを行うにはどうすればよいですか?

GitHub Actions を使用して PHP プログラムの自動パッケージ化とデプロイメントを行うにはどうすればよいですか?

王林
王林オリジナル
2023-07-31 14:28:50973ブラウズ

GitHub Actions を使用して PHP プログラムの自動パッケージ化とデプロイメントを行うにはどうすればよいですか?

はじめに
クラウド コンピューティングと DevOps の台頭により、ソフトウェア開発の自動化と継続的統合がますます重要になってきています。 GitHub Actions は、開発者がソフトウェアを迅速かつ効率的に開発およびデプロイできるようにする強力な自動化ツールです。この記事では、GitHub Actions を使用して PHP プログラムの自動パッケージ化とデプロイメントを行い、開発効率を向上させる方法に焦点を当てます。

1. GitHub Actions ワークフローのセットアップ
GitHub Actions を使用するには、まずプロジェクトのルート ディレクトリに「.github/workflows」という名前のフォルダーを作成する必要があります。このフォルダーに YAML 形式のファイルを作成し、「ci.yml」という名前を付けます。この文書では、ワークフローと具体的な手順を定義します。

以下は、ci.yml ファイルの例の内容です:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

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

    - name: Set up PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.4'

    - name: Install dependencies
      run: composer install

    - name: Run tests
      run: composer test

    - name: Build application
      run: composer build

    - name: Deploy to server
      uses: easingthemes/ssh-deploy@v2
      with:
        server: ${{ secrets.SERVER }}
        port: ${{ secrets.PORT }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        source: 'dist/'
        target: '/var/www/html'

上の例では、一連のステップを含む「build」という名前のジョブを定義しました。まず、コード リポジトリからコードをチェックアウトし、次に PHP 環境をセットアップし、依存関係をインストールし、テストを実行し、アプリケーションを構築し、最後に構築されたアプリケーションをサーバーにデプロイします。

デプロイメント ステップでは、「ssh-deploy」と呼ばれるアクションを使用することに注意してください。これは、コードをリモート サーバーにデプロイするのに役立つオープン ソース デプロイメント ツールです。デプロイ中に使用するには、GitHub リポジトリの「設定」でいくつかの環境変数を設定する必要があります。たとえば、サーバーのアドレス、ポート、ユーザー名、パスワード、その他の情報を設定する必要があります。

2. コードのパッケージ化とデプロイメント
GitHub Actions のワークフローでは、さまざまなコマンドを実行することでコードのパッケージ化とデプロイメントを実装できます。具体的な実装プロセスはプロジェクトごとに異なります。次の例が一般的な方法です:

# 打包
composer build

# 部署
uses: easingthemes/ssh-deploy@v2
with:
  server: ${{ secrets.SERVER }}
  port: ${{ secrets.PORT }}
  username: ${{ secrets.USERNAME }}
  password: ${{ secrets.PASSWORD }}
  source: 'dist/'
  target: '/var/www/html'

まず、composer コマンドを使用してアプリケーションをビルドし (composer ビルド)、必要なパッケージ ファイルを生成します。次に、ssh-deploy アクションを使用して、パッケージ化されたファイルをリモート サーバーにデプロイします。導入プロセス中にサーバー関連の情報を保存するために環境変数を使用することに注意してください。

展開手順を実行する前に、サーバー アドレス、ポート、ユーザー名、パスワードなどの正しい環境変数が設定されていることを確認してください。これらの環境変数は、GitHub リポジトリの「設定」-「シークレット」で設定できます。

3. GitHub Actions を有効にする
ワークフローの定義、コードのパッケージ化とデプロイが完了したら、GitHub Actions を有効にしてこれらのタスクを自動化できます。

GitHub ウェアハウス ページの「アクション」タブで、定義されたワークフロー「CI」を確認できます。灰色で表示されている場合は、ワークフローが有効になっていないことを意味し、緑色で表示されている場合は、ワークフローが有効であることを意味します。

コードをコミット (プッシュ) すると、GitHub Actions によってワークフローが自動的に実行され、ステップが実行されます。 「アクション」タブの「CI」ワークフローページで、実行ログと各ステップの実行を表示できます。

GitHub Actions を有効にすることで、PHP プログラムのパッケージ化とデプロイメントの自動化を実現し、開発効率とデプロイメント速度を向上させることができます。手動作業は必要なく、コードが送信されるたびにワークフローが自動的にトリガーされるため、開発者のワークフローが簡素化され、人的エラーのリスクが軽減されます。

結論
この記事では、PHP プログラムのパッケージ化とデプロイを自動化するために GitHub Actions を使用する方法を紹介します。ワークフローを定義し、適切な手順を設定することで、コードのパッケージ化とデプロイメントを簡単に自動化できます。同時に、オープンソース展開ツール「ssh-deploy」を使用してリモート サーバーを展開する方法についても説明しました。

GitHub Actions は、PHP プロジェクトをサポートするだけでなく、他の言語でのプロジェクトの開発やデプロイメントにも使用できます。この強力なツールを使用すると、開発者はコードの開発と最適化により集中できるようになり、作業効率とソフトウェアの品質が向上します。

以上がGitHub Actions を使用して PHP プログラムの自動パッケージ化とデプロイメントを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。