golang-continuous-integration は何をしますか?
Go プロジェクト向けの GitHub Actions を使用した CI/CD パイプライン設定 — テスト、リンター、SAST、セキュリティスキャン、コードカバレッジ、Dependabot、Renovate、GoReleaser、コードレビュー自動化、リリースパイプライン。Go プロジェクトの CI 設定や改善、GitHub Actions ワークフローの設定、リンターやセキュリティスキャナーの追加、依存関係の自動更新、品質ゲートの追加に使用します。
概要
このスキルは、Go プロジェクトにおいて業界標準のツールとベストプラクティスを活用した包括的な CI/CD パイプラインを構成する方法を提供します。各コンポーネントは独立したワークフローファイルとして実装され、プロジェクトの要件に応じて有効化・カスタマイズできます。
機能
- テスト自動化:
go testを用いたユニットテスト、統合テストの実行 - リンター:
golangci-lintによるコード品質チェック - SAST(静的アプリケーションセキュリティテスト): セキュリティ脆弱性の検出
- セキュリティスキャン:
Trivyやgosecを用いた脆弱性スキャン - コードカバレッジ: カバレッジレポートの生成とアップロード(Codecov など)
- 依存関係の自動更新:
DependabotまたはRenovateによる定期的な依存関係の更新 - リリース自動化:
GoReleaserを用いたマルチプラットフォームリリース - コードレビュー自動化: 自動レビューボットや PR チェック
- 品質ゲート: マージ前に必要なチェックを定義
使用方法
- リポジトリに
.github/workflows/ディレクトリを作成します。 - 必要なワークフローファイル(例:
test.yml,lint.yml,security.yml)を追加します。 - 各ワークフローファイル内の環境変数やトリガー条件をプロジェクトに合わせて調整します。
- 必要に応じて
DependabotやRenovateの設定ファイル(.github/dependabot.ymlなど)を追加します。 GoReleaserを使用する場合、.goreleaser.ymlをプロジェクトルートに配置します。
対応プラットフォーム
- CI/CD: GitHub Actions
- 言語: Go (バージョン 1.16 以上を推奨)
- パッケージ管理: Go Modules
参考リンク
ライセンス
このスキルは MIT ライセンス のもとで公開されています。