Pre-Commit으로 자격 증명이 없는 Terraform 파이프라인 개선



이전 게시물에서는 자격 증명이 없는 Terraform 파이프라인을 만들었지만 이 게시물에서는 Pre-Commit 을 사용하여 이를 개선하려고 합니다.


사전 커밋



이는 개발자가 유효하지 않거나 팀의 코딩 표준을 준수하지 않는 코드를 커밋하는 것을 방지하는 데 유용합니다. 파이프라인 내부에서 사용할 수 있고 로컬에서 실행할 수 있으므로 유효성 검사 간에 일관성을 제공해야 합니다.

다음은 기본 수준의 서식 지정 및 파일 유효성 검사를 제공하는 데 사용할 수 있는 .pre-commit-config.yaml 파일의 예입니다.

repos:
  - repo: https://github.com/antonbabenko/pre-commit-terraform
    rev: v1.64.1
    hooks:
      # Ensure coding standards are met e.g. snake_case or camelCase. Also comment format.
      - id: terraform_tflint

      # Ensure that the file formatting is correct.
      - id: terraform_fmt

      # Static analysis of potential security issues. TFSec also can be an option.
      - id: checkov

      # Provide automated documentation to the readme file.
      - id: terraform_docs

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.0.1
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-json



테라폼 린트



Terraform Lint는 terraform 코드에서 발생할 수 있는 오류를 찾고, 사용되지 않는 구문에 대해 알려주고, snake_case 대 camelCase와 같은 모범 사례를 시행하는 데 도움을 줄 수 있습니다.

테라포밍 형식



Terraform 형식은 일관성을 강화하여 코드의 가독성을 개선하고 커밋의 노이즈를 줄일 수 있습니다.

Terraform 문서



이렇게 하면 Terraform 코드를 기반으로 문서를 생성할 수 있으며 여기에는 입력, 출력, 공급자 및 리소스가 포함될 수 있습니다.

체코프



Checkov는 자격 증명 노출을 허용하지 않는 IAM 정책, S3 버킷이 공개되지 않고 AWS Config가 모든 지역에서 활성화되는 등의 문제에 대해 Terraform에 대한 피드백을 제공합니다.

이렇게 하면 규정 준수를 시행하는 데 도움이 되며 특정 리소스에 대한 검사를 건너뛰려면 인라인 주석을 추가해야 합니다.

후행 공백/파일 끝 해결사



이렇게 하면 줄 끝에 있는 공백이 제거되고 파일이 빈 줄로 끝나므로 Version Control System에서 오류 메시지가 표시되지 않습니다.

Yaml/Json 확인



이러한 파일이 구문적으로 올바른지 확인하기 위해 클라우드에서 작업할 때 매우 편리합니다.

추가 사전 커밋 후크



추가적인 Pre-Commit 후크는 Pre-Commit's GithubAnton Babenko's Github 리포지토리를 참조하십시오.

좋은 웹페이지 즐겨찾기