開発中、著者はRaspberry Pi上のJenkinsを使用してCI/CDパイプラインを構築しました。起動時にJenkinsが自動的に実行されるように、カスタムデーモンサービスを作成しました。著者はPiにDockerとDocker Composeをインストールし、それらを使用してコンテナを起動しました。当初はローカルGitリポジトリを使用しましたが、後にGitHubに移行しました。著者は、Docker Hubからプルするのではなく、MySQLの汎用バイナリを使用してカスタムデータベースイメージを作成しました。カスタムDBイメージのために、データベースを初期化および設定するエントリーポイントスクリプトを作成しました。著者は開発中にJenkinsを使用してアプリケーションをビルドおよびデプロイしました。本番環境への移行時、著者はGitHub Actionsを発見し、Gitリポジトリに実装しました。GitHub Actionsを使用してイメージをコンパイルしてDocker Hubにプッシュし、その後SSHを使用してEC2インスタンスにデプロイしました。著者は、kubectlまたはbashスクリプトを使用してPodの削除を自動化することで、デプロイプロセスを改善する予定です。
dev.to
How I deployed my first project for my devops portfolio: CI/CD during development vs CI/CD while live
