日本語版
最新ニュース
科学&テクノロジー

Cecil と github アクション · HappyToDev

この新しいブログを始めるにあたって、PHP で書かれた静的サイト ジェネレーターである Cecil について話さなければなりません。 ドキュメントは非常に広範囲にわたるため、インストール方法は説明しませんが、このサイトを Github Actions にデプロイする方法を説明します。 セシル?? Cecil は、PHP で書かれた静的サイト ジェネレーターです。 彼はこのサイトを運営している人であり、私の力を与えている人でもあります。 リンクページ。 アルノー・リニー は彼の父親であり、彼は定期的にそれに取り組んでいると言えると思います。 さらに、Github でのサポートは非常に迅速に対応します。 セシルについてもっと知りたい場合は、公式ウェブサイトを参照することしかできません。 https://cecil.app 展開する ?? 待ってください、フレッド、あなたが公開する記事ごとにデプロイメント、つまり実稼働環境の立ち上げを行うということですか? はい、実際にそのように言うと、怖いかもしれません。 ただし、これは Github Actions を介した自動デプロイメントであるため、ご安心ください。 したがって、「自動デプロイメント、Github アクション」という言葉が意味不明である場合は、行って確認することしかアドバイスできません。 CI/CDトレーニング 友人のヨアン・デヴより。 このリンクにアクセスすると、15% 割引を受けることができます。 (これはアフィリエイトリンクではありません 😉)…

Cecil と github アクション · HappyToDev

1709544429
2024-03-03 10:36:09

この新しいブログを始めるにあたって、PHP で書かれた静的サイト ジェネレーターである Cecil について話さなければなりません。

ドキュメントは非常に広範囲にわたるため、インストール方法は説明しませんが、このサイトを Github Actions にデプロイする方法を説明します。

セシル??

Cecil は、PHP で書かれた静的サイト ジェネレーターです。 彼はこのサイトを運営している人であり、私の力を与えている人でもあります。 リンクページ

アルノー・リニー は彼の父親であり、彼は定期的にそれに取り組んでいると言えると思います。 さらに、Github でのサポートは非常に迅速に対応します。

セシルについてもっと知りたい場合は、公式ウェブサイトを参照することしかできません。 https://cecil.app

展開する ??

待ってください、フレッド、あなたが公開する記事ごとにデプロイメント、つまり実稼働環境の立ち上げを行うということですか?

はい、実際にそのように言うと、怖いかもしれません。

ただし、これは Github Actions を介した自動デプロイメントであるため、ご安心ください。

したがって、「自動デプロイメント、Github アクション」という言葉が意味不明である場合は、行って確認することしかアドバイスできません。 CI/CDトレーニング 友人のヨアン・デヴより。 このリンクにアクセスすると、15% 割引を受けることができます。 (これはアフィリエイトリンクではありません 😉)

Github アクション

集中

細かい説明ですが、私のホスト (o2switch) では Github Actions 経由での SSH の実行が許可されていないため、代わりに FTP を使用する必要があります。

しかし、完全に機能することは保証できます。

ただし、別の方法で実行したい場合は、展開部分でスクリプトを調整するだけです。

前提条件

もちろん、始める前にいくつかの前提条件があります。

デプロイメントスクリプト

これがまだ行われていない場合は、ディレクトリを作成する必要があります .github/workflows 以下の図のように:

次に、以下のスクリプトをコピー/貼り付け/調整して、たとえば呼び出すことができるファイルに追加します。 main.yml

name: ftpdeployment

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v4
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.1'
          extensions: mbstring, gd, imagick, intl, gettext
      - name: Build with Cecil
        uses: Cecilapp/Cecil-Action@v3
      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: website
          path: _site
  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Download artifact
        uses: actions/download-artifact@v3
        with:
          name: website
          path: _site
      - name: FTP Deploy
        uses: SamKirkland/[email protected]
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          local-dir: ./_site/

いくつかの簡単な説明:

  • on:push:branch: => メインブランチがプッシュされたときにこのスクリプトが実行されることを示します
  • ジョブ: ここでは 2 つのジョブが実行されます。 最初にビルド ジョブ、次にデプロイメント ジョブ
  • 「ビルド」ジョブは ubuntu イメージ上で実行され、次の手順が含まれます。
    • ソース チェックアウト: リポジトリ ソースを取得します
    • PHP セットアップ: 次のビルド手順を許可する PHP 環境を構成します。
    • Cecil でビルド: ディレクトリをビルドできます。 _site 生成された静的サイトを含む
    • アーティファクトのアップロード: ディレクトリを含むアーティファクトが保存されます。 _site 名前を付けることで website 次の仕事で使えるように
  • 「デプロイ」ジョブは同一の ubuntu イメージ上で実行され、次の手順が含まれます。
    • 前のジョブ中に生成されたアーティファクトの回復
    • ディレクトリの展開 _site 以前に Github に保存されたシークレットを使用した FTP 経由

最初の展開ですべてがうまくいけば、FTP Deploy スクリプトによって必要なディレクトリとファイルがすべて作成されます。

次の間 push、新しいファイルと変更されたファイルのみがアップロードされます。

この非常に単純なセットアップでは、マークダウン ファイルを作成し、コミットしてプッシュするだけで、次の 1 分以内にオンラインに表示されます。 私のテンプレートファイルも明らかに同じです。

追加します アルノーの素晴らしい発言 :

そして、デプロイメントがアトミックであることを指定しましょう。何らかの理由でサイトの (再) 構築ステージが失敗した場合、アーカイブは作成されず、したがって FTP によって送信されないため、運用中のサイトが「中断」されるリスクはありません 😊

とても使い心地が良く、パフォーマンスやセキュリティの面でも全く問題ありません。

そして、最後の利点は、最も重要なことですが、金曜日に生産を開始できることです。これは非常に貴重です。 😉


#Cecil #と #github #アクション #HappyToDev

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。