10
7

GitHub ActionsでCI/CDとDevSecOps推進ツールの学習リポジトリを作った

Last updated at Posted at 2024-08-07

DevSecOpsについてまずこの資料で雑に理解してから進めると良い。

INDEX


ABOUT


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で作られるデフォルトそのまま。


10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7