はじめに
先日マイクロサービスをdeployして、自動起動も行いました。 じゃあ、開発環境から自動deployのしたいじゃないか! ということでCICDをやってみよう。 とはいえ、CICDのツールは世の中にアホほどあるので、個人開発に使いやすそうなコスパの良いものを探してみよう。
前提イメージ
- 無料がいい
- なるたけgithubActionかな(みんな使ってそう)
- CIでやることのイメージはlint
- CDはデプロイして起動する
- clientのnpm buildもやってほしい
- goファイルのbuildもやってほしい
- dbのmigrationもやってほしいな
- サーバー再起動もしたいね
調査
いろいろ調べてみて一旦一個に絞ろう。
市場調査
まずどれがだいたい主流なのかがわからないとお話にならない。初めてだし、主流がいいだろう。
- Jenkinsだけじゃない、DeNAが無名ツールを選択した理由 | 日経クロステック(xTECH)
- 2023年版「おすすめCIツール」の一覧と比較
- 【比較まとめ】おすすめのCIツール10選。チームの開発効率をアップするのに最も良いのはどれ? - Workship MAGAZINE(ワークシップマガジン)
- 【2023年】CI/CDツール7選を徹底比較!選び方も紹介|ITトレンド
上のサイトからピックアップ
ここらへんが良さげ。
デメリットを比較
あとはここら辺で調べて、どれがいいか決める。 個人的に夜やるのがデメリットの比較。メリットを挙げたらいっぱいサイトに出てくるけど、それだと決めづらい。だからデメリットを列挙して許されざるものから切っていくやり方。
よっしゃ調べる。 (一部抜粋)
- Jenkinsの導入で見えた問題点と課題 - Qiita
- Jenkins CircleCI 比較 - Qiita
- JenkinsとCircle CIを比較してる記事を読んでみた - ハマログ
- Github Actions 2年使ってみてわかったことまとめ - Qiita
- CIツール コスト比較 GithubActions,TravisCI,CircleCI|スクショはつらいよ
- CircleCI や TravisCI などの CI サービスの無料枠を食いつぶす暗号通貨採掘者 – 秋元@サイボウズラボ・プログラマー・ブログ
デメリット
ツール名 | デメリット |
---|---|
Jenkins |
|
CircleCI |
|
GithubActions |
|
Travis CI |
|
以上の比較よりGithubActionsにしようと思います! 一応理由。
- やすすぎる!(てかほぼ無料)
- Actionsというテンプレートの存在
- cloud上でほぼ完結する
- 普段のGithubの使い方と親和性が高い(親和性というのか?)
- CI導入しているところでGithubActionsを使っていないところを見たことがない