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