📑

シンプルなHTMLページをCloud Runにデプロイする

2024/03/09に公開

Githubを使い、mainブランチがプッシュされると自動でCloud Runにデプロイされるようにします。基本的には以下の記事で解説したものと同じなので要点だけまとめます。

https://zenn.dev/shingoirie/articles/a47e454da770fc

サービスを作成するまでは上の記事と同じです。

Dockerfileを作成

Cloud runで動かすためのコンテナをつくり、nginxをいれます。
https://zenn.dev/shingoirie/articles/4de14e1f54e82a
でつくったような静的なページを想定しており、distディレクトリにindex.htmlなどのファイルが入っています。

Dockerfile
FROM nginx:alpine

ENV PORT=8080
EXPOSE 8080
USER root

COPY ./dist /usr/share/nginx/html

CMD sed -i 's/listen\s*80;/listen '"$PORT"';/' /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'

最後のCMDは、Nginxのデフォルト設定ファイル内のlisten 80;listen $PORT;($PORTは環境変数からの値)に置換し、その後Nginxを起動するようにしています。これにより、Cloud Runが動的に割り当てるポートでNginxがlistenするようになります。

あとは、今回githubリポジトリにトリガーを設定しているため、mainブランチにデプロイするとcloud buildがはじまります。

オールグリーンになれば成功。

基本的にはこれだけで、cloud runから割り当てられるURLでアクセスできるようになります。

カスタムドメインを適用する方法はこちら。
https://zenn.dev/shingoirie/articles/99ce1eb92a9428

Discussion