Docker Hubを見ていると,「Source Repository」にGithubリポジトリのリンクがあるものが多いです.
ということで,githubにあるDockerfileを自動ビルドしてDocker Hubに登録してくれる機能とかあるんだろうなと思って「github dockerhub 連携」とかでググると,みんなDocker Hubの「Automated Build」なるものを使っていることがわかります.
各記事見てると,まず「Docker Hubのアカウント設定からLinked Accountsを選んでGithubを連携させましょう」とか書いてるのですが,僕のDocker HubにはLinked Accountsなんてありません......🤔
よくよく公式ドキュメントを読むと,Automated BuildはDocker Hub課金勢(Pro, Teams, Business)のみの機能と書かれているではないですか...!😩😩
Docker Hubに課金してもよいのですが,一番安いProプランでも月5ドルという...
高くはないですが,エンジョイ趣味勢で月額課金はツラいです.ここは無課金で乗り切りたいところ.
前置きが長くなりましたが,こういうことで,Docker Hub無課金勢(Personal Plan)でもgithubからDockerイメージを自動でBuild & Pushする方法についてまとめます.
方針としては,Github Actionsを使ってCI/CD的に実施します.が,筆者はGithub Actionsを使うのは今回が初めて(お仕事はGitLab...)なので,問題あるかもですが責任は取りません.あくまでご参考にどうぞ(免責)
ほぼここに書かれてる内容になるので,分かる人はこちらを見てください.
もしくは,今回使用するyamlファイルをご覧ください.
- 前提
- Docker Hubのアカウント情報をGithubに設定する
- Github Actionsのワークフローの設定
- GithubへPush(から,自動でDockerイメージのBuild & Push)
- その他
- まとめ