Jenkinsしか使ってこなかった私がGitHub Actionsを触ってみた話
こんにちは。普段はSIerでJenkins × GitLabを使ってCI/CD環境を構築・運用しているエンジニアです。
最近、個人開発でGitHub Actionsを初めて使ってみたので、そのときの感想や「Jenkinsと比べてどうだったか」をまとめてみました。
※実際の構築手順やGitHub ActionsのYAMLファイル例は、ブログのほうで詳しくまとめています👇
🔰 なぜ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を構築する手順は、以下のブログ記事で詳しく解説しています👇
-
actions/checkout
,setup-java
,./gradlew build
の使い方 - 成果物(JAR)の保存
- 実際に動作確認したYAMLファイルの全文
なども載せていますので、ぜひ参考にしてみてください!
📝 おわりに
Jenkinsだけしか知らなかった私にとって、GitHub Actionsは非常に新鮮で、
「CIってこんなに軽く始められるんだ」という驚きがありました。
今後は、プロジェクトの性質によって Jenkins と GitHub Actions を使い分ける視点を持ちたいなと思います。
ご覧いただきありがとうございました!
Discussion