😺

GitHub ActionsでCI/CDパイプラインを構築する/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で作られるデフォルトそのまま。


GitHubで編集を提案

Discussion