このサイトで使っている公開の流れ

「副業ゆるプラス」は、パソコン上でページを作り、GitHubへ保存し、GitHub Actionsからレンタルサーバーへ公開しています。GitHub Actionsは、ファイルが更新されたときに、決めておいた処理を自動で実行できる仕組みです。

01ローカルで確認

Codexで作ったページを、自分のパソコンで表示して確認します。

02GitHubへ保存

サイトのファイルと、いつ何を変えたかの履歴を残します。

03Actionsが自動処理

公開用ファイルを作り、設定した手順どおりにサーバーへ送ります。

04公開ページを確認

独自ドメインでHTTPS、リンク、フォーム、スマホ表示を確認します。

公開の入口をGitHubにそろえることで、サーバー上のファイルを直接編集する回数を減らします。

参考:GitHub公式「Quickstart for GitHub Actions」

直接FTPで更新する方法と、何が違う?

FTPソフトから公開すること自体が間違いではありません。小さな静的サイトなら、それでも公開できます。ただ、更新が増えると「どのファイルを直したか」「公開前の状態はどれか」が分かりにくくなります。

手作業でFTP公開GitHubから自動公開
送るファイルを毎回選ぶ決めた公開手順を毎回実行
変更履歴は別に管理GitHubに変更履歴が残る
送り忘れが起こりやすい公開処理の成否を履歴で確認
初期設定は少なめ最初に接続と自動処理の設定が必要

自動公開のよさは、速さよりも「同じ手順を繰り返せること」です。公開後に問題が出ても、直前に変えた内容を探しやすくなります。

最初に用意するもの

公開できるサイト
パソコンで表示を確認でき、公開用ファイルを作れる状態
GitHubのリポジトリ
サイトのファイルと変更履歴を保存する場所
レンタルサーバー
FTPS接続ができ、公開先フォルダを確認できるもの
独自ドメインとSSL
公開URLをHTTPSで表示するための設定
先に「公開用フォルダ」を確認する

制作中のファイルをすべて送るのではなく、ビルド後にできる公開用ファイルだけを送ります。このサイトでは公開用フォルダを自動処理に指定しています。

パスワードはGitHubのSecretsへ分ける

サーバーのホスト名、ユーザー名、パスワード、公開先フォルダをソースコードへ直接書くと、リポジトリを見た人や公開ファイルから知られる危険があります。このサイトでは、接続に使う4項目をGitHub ActionsのRepository secretsへ登録しています。

SERVER接続先

レンタルサーバーのホスト名

USERNAME接続ユーザー

公開用アカウント名

PASSWORDパスワード

画面や記事には記載しない

SERVER DIR公開先

独自ドメインの公開フォルダ

GitHub公式も、パスワードなどの機密情報にはSecretsを使い、権限は必要最小限にするよう案内しています。Secretsの値は一つずつ登録し、コード、スクリーンショット、記事へ貼らないようにします。

  • GitHubとレンタルサーバーで二段階認証を設定する
  • 公開に不要な販売データや個人情報をリポジトリへ入れない
  • ワークフローが必要とする権限だけを与える
  • 使わなくなったパスワードは変更し、Secretsも更新する

参考:GitHub公式「Secrets」GitHub公式「Secure use reference」

自動公開の設定で決める4つのこと

GitHub Actionsでは、リポジトリ内の .github/workflows フォルダに設定ファイルを置きます。このサイトでは、mainブランチが更新されると次の順番で処理します。

1

サイトのファイルを読み込む

GitHubへ保存された最新の内容を、公開処理用の環境へ用意します。

2

必要なプログラムを準備する

Node.jsとサイト制作に必要なパッケージを、決めたバージョンで準備します。

3

公開用ファイルを作る

ビルドが失敗した場合は、サーバーへ送らずに処理を止めます。

4

FTPSでサーバーへ送る

Secretsから接続情報を受け取り、公開用フォルダだけを反映します。

設定ファイルをそのままコピーしない

公開用フォルダ、サーバーの接続方式、Node.jsのバージョンはサイトごとに違います。第三者が作ったActionを使う場合も、提供元と最新の説明、指定するバージョンを確認します。

実際に起きた「接続タイムアウト」

このサイトでも、GitHubへの保存は成功したのに、FTPS接続がタイムアウトして公開だけ失敗したことがありました。そのときに大切だったのは、焦って設定を変えるのではなく、失敗した場所を分けて見ることです。

1

ビルドは成功したかサイトの作り方に問題があるのかを切り分けます。

2

サーバー接続だけ失敗したかログでFTPS接続の段階を確認します。

3

接続情報を変えたか変更していなければ、一時的な接続失敗も考えます。

4

同じ処理を再実行する設定をむやみに変えず、再実行後に公開ページを確認します。

再実行で解消しない場合は、ホスト名、接続方式、ポート、公開先フォルダ、サーバー側の接続制限を順番に確認します。パスワードをログや質問文へ貼り付けないことも重要です。

公開できたら、トップページだけで終わらせない

  • 独自ドメインがHTTPSで表示される
  • トップ、カテゴリ、記事、プロフィールが404にならない
  • 問い合わせフォームから送信できる
  • パソコンとスマートフォンで文字やボタンが見やすい
  • sitemap.xmlrobots.txt が表示される
  • Search Consoleへサイトマップを送信する
  • Google Analyticsで自分のアクセスを確認する

公開は完成ではなく、確認と改善を始められる状態です。記事を追加したときも、GitHubへ保存し、公開処理が成功したか、公開ページに反映されたかまで確認します。

履歴を残しながら、少しずつ育てる

GitHubからの自動公開は、難しそうに見えても、役割を「保存」「公開用ファイルの作成」「サーバーへの送信」に分けると理解しやすくなります。最初の設定は必要ですが、一度流れができれば、その後の記事更新も同じ手順で進められます。

私たちが大切にしているのは、AIに全部任せることではなく、自分が内容を理解し、確認しながら公開できることです。

AIホームページ制作スクール企画から公開後の更新まで、丁寧に進めたい方へ

ChatGPTとCodexを使い、独自ドメインで公開してアクセスを確認できる状態まで進める内容をご案内しています。

スクールの詳しい案内を見る →
あわせて読みたいChatGPTとCodexで丁寧にサイトを作る方法|公開・アクセス確認までサイト制作全体の流れを見る →