DevSecOpsについてまずこの資料で雑に理解してから進めると良い。
INDEX
ABOUT
- GitHub Actoins,CI/CD,DevSEcOps推進ツールの使い方を書いた学習リポジトリを作りました。
- リポジトリはこれ→☆https://github.com/RyosukeDTomita/devsecops-demo-aws-ecs
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に関係のありそうなものだけ抜粋)
- hadolint: Dockerfileのlinter
- markdownlint
- zenkaku: 半角スペースを可視化
- Code spell checker
- ESLint
- Prettier
その他細かいGitHubのテクニック
- CODEOWNERSの使い方 TODO: そのうちドキュメント化する
- RepositoryのTemplates関連
- pull_request_template
- ISSUE_TEMPLATE
- reply template]
- branchルールセットについて TODO: そのうちドキュメント化する
ENVIRONMENT
デプロイするアプリ
create-react-app
で作られるデフォルトそのまま。