😺

GitHub ActionsでCI/CDパイプラインを構築する/DevSecOpsツールの推進用の学習用リポジトリを作った

2024/08/08に公開

INDEX


ABOUT

  • GitHub Actoins,CI/CD,DevSEcOps推進ツールの使い方を書いた学習リポジトリを作りました。
  • リポジトリはこれ→☆https://github.com/RyosukeDTomita/devsecops-demo-aws-ecs
    • README.mdに環境構築や概要
    • doc/にいろいろなツール等の使い方をまとめてあります。

FEATURE

このRepositoryで学べること。

GitHub Actions等(git push後)で使用されるツールの使い方

  • ghalint: GitHub Actionsで実行されるworkflows用のlinter
  • github-comment: GitHub Actionsで実行されるCIが失敗したときにコメントとしてエラーを出力する。
  • semgrep: GitHub Actionsで実行するSASTツール
  • trivy: イメージのスキャンやdependency checkができる。dependency checkはGitHub Actionsで実行,イメージスキャンはTODO

GitHub Actionsのテクニック

  • matrixでバージョンや環境を変えて並列テスト
  • pathsフィルター
  • GitHub Environments variablesやsecretsの使い方
  • WorkflowのバッチをREADME.mdにつける
  • CodeQLを使ってスキャン結果等を出力する
  • zipを作ってartifactとして配置する
  • RepositoryのReleasesを自動作成
  • github-pagesにデプロイする。

GitHub Actions関連のバージョン管理ツールの使い方

  • aqua: GitHub Actions等で使用するCLIツールのバージョン管理ができる。
  • pinact: GitHub Actionsで使うactionsのバージョンをフルコミットハッシュに変換。

pre commit(git committ前)に使うツールの使い方

  • pre-commit: git commit前に特定のツールを実行し,失敗ならcommitさせない。
    • hadolint
    • ESLint
    • Prettier(Formatter)
    • Markdown linter
  • git-secret: git commit時にクレデンシャルのパターンにマッチするものがあれば,commitさせない。

VSCode Extensions(Securityに関係のありそうなものだけ抜粋)

その他細かいGitHubのテクニック

  • CODEOWNERSの使い方 TODO: そのうちドキュメント化する
  • RepositoryのTemplates関連
    • pull_request_template
    • ISSUE_TEMPLATE
    • reply template]
  • branchルールセットについて TODO: そのうちドキュメント化する

ENVIRONMENT

デプロイするアプリ

create-react-appで作られるデフォルトそのまま。


GitHubで編集を提案

Discussion