👌

Jenkinsしか使ってこなかった私がGitHub Actionsを触ってみた話

に公開

こんにちは。普段はSIerでJenkins × GitLabを使ってCI/CD環境を構築・運用しているエンジニアです。

最近、個人開発でGitHub Actionsを初めて使ってみたので、そのときの感想や「Jenkinsと比べてどうだったか」をまとめてみました。

※実際の構築手順やGitHub ActionsのYAMLファイル例は、ブログのほうで詳しくまとめています👇

https://maroon54321.com/archives/176

🔰 なぜGitHub Actionsを使ってみたのか

理由は単純で、「GitHub上で完結するCI/CDを試してみたかった」からです。

これまで以下のような構成でCI/CDを構築してきました:

  • GitLab(SCM)
  • Jenkins(CI/CDサーバ)
  • Ansible / Shellなどによる自動化スクリプト

安定してはいるものの、Jenkinsの構築・プラグイン管理・ジョブの複雑化に悩まされることも多く…

「GitHub Actionsってもっとシンプルなんじゃ?」と感じたのがきっかけでした。


⚔ JenkinsとGitHub Actionsのざっくり比較

比較項目 Jenkins GitHub Actions
導入のしやすさ サーバ構築・メンテが必要 GitHub上ですぐ開始できる
設定の方法 GUIベース(+スクリプト) YAMLベースでコード管理できる
拡張性・自由度 プラグイン豊富(ただし管理が重い) Marketplaceで機能追加できる
実行環境 自前 or エージェント GitHubのクラウド基盤で安定

どちらが優れているという話ではありませんが、GitHub Actionsは特に「ちょっと試したいとき」「小規模開発」にはぴったりだと感じました。


👍 GitHub Actionsの良かった点

実際に触って「これはいいな」と感じた点はこちらです。

  • on: push などのトリガー設定が直感的
  • setup-java などの公式アクションで環境構築が1行
  • chmod +x ./gradlew のような細かいコマンドも書ける
  • 成果物(JARなど)を upload-artifact で簡単に保存可能

Jenkinsで同じことをやろうとすると、
ジョブの複数化やスクリプトの外出しが必要になるケースが多いので、YAMLにすべて詰め込めるのは嬉しいポイントです。


🤔 少しつまずいたポイント

逆に「少し戸惑ったな」と思ったのは次の点です:

  • YAMLの書き方に最初は戸惑う(インデントなど)
  • GUIベースではないので、初心者向けのナビが少ない
  • 環境ごとの微調整(例えば、JDKのディストリビューション指定など)が必要な場面も

ただし、これは慣れの問題かなと思います。


✍ 実際の構築手順やYAMLファイルはブログにまとめました

本記事では感想中心でお届けしましたが、
GitHub ActionsでJava(Gradle)アプリのCIを構築する手順は、以下のブログ記事で詳しく解説しています👇
https://maroon54321.com/archives/176

  • actions/checkout, setup-java, ./gradlew build の使い方
  • 成果物(JAR)の保存
  • 実際に動作確認したYAMLファイルの全文

なども載せていますので、ぜひ参考にしてみてください!


📝 おわりに

Jenkinsだけしか知らなかった私にとって、GitHub Actionsは非常に新鮮で、
CIってこんなに軽く始められるんだ」という驚きがありました。

今後は、プロジェクトの性質によって Jenkins と GitHub Actions を使い分ける視点を持ちたいなと思います。
ご覧いただきありがとうございました!


Discussion