foodcritic에서 Chef의 정적 코드 분석 검사 대상을 필터링
소개
foodcritic은 Chef Cookbook의 스타일을 확인하는 정적 코드 분석 도구입니다.
이번 foodcritic에서 코드 체크 대상에서 제외하는 방법을 정리합니다.
코드 체크 대상은 foodcritic -l 명령으로 확인할 수 있습니다. 또한 아래 디렉토리 등에서 코드 체크 대상이 설정되어 있습니다. foodcritic 관련 디렉토리를 확인하려면 gem environment 명령을 실행하십시오.
C:\xxx\gem\ruby\2.4.0\gems\foodcritic-11.4.0\lib\foodcritic\rules
foodcritic 홈페이지 에서 체크 항목의 내용을 확인할 수 있습니다.
1. 코드 체크 대상외를 지정
- 1-1.Chef 레시피에 코드 체크 대상외를 지정
체크 대상외로 하는 항목을 Chef 레시피에 직접 설정하는 방법입니다. 각 스크립트에서, 체크 대상외로 하는 ID를, #~와 같이 기재합니다.
node['modules'].each do |modules|
package "#{modules}" do #~FC002
action [:remove]
end
end
- 1-2.foodcritic 파일에 코드 체크 대상외를 지정
체크 대상외로 하는 항목을 하나의 파일로 설정하는 방법입니다. cookbook 아래에 .foodcritic 파일을 만들고 확인할 수 없는 ID를 나열합니다.
PS C:\xxx\chef-repo\site-cookbook\common > cat .foodcritic
~FC064
~FC065
~FC069
~FC071
~FC078
- 1-3.foodcritic 명령 실행시 코드 체크 대상외 지정
foodcritic 실행시에 체크 대상외의 ID를 지정하는 방법입니다. 이 경우 위의 1-1 및 1-2 설정이 무시됩니다.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t ~FC002
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic --help
foodcritic [cookbook_paths]
-t, --tags TAGS Check against (or exclude ~) rules with the specified tags.
2. 코드 체크 대상 지정
반대로 코드 검사 대상만 지정할 수 있습니다.
- 2-1.foodcritic 명령 실행 시 코드 체크 대상 지정
foodcritic 런타임에 확인할 ID를 지정합니다.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t FC002
foodcritic 런타임에 검사할 태그를 지정합니다. 태그는 foodcritic 홈페이지에서 확인하십시오.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t roles
3. 설정 예
인터넷 액세스가 없는 환경이었기 때문에, .foodcritic 파일을 배치하는 1-2의 방법으로, 이하를 체크 대상외로 했습니다.
FC064: Ensure issues_url is set in metadata
FC065: Ensure source_url is set in metadata
FC069: Ensure standardized license defined in metadata
FC071: Missing LICENSE 파일
FC078: Ensure cookbook shared under an OSI-approved open source license
PS C:\xxx\chef-repo\site-cookbook\common > cat .foodcritic
~FC064
~FC065
~FC069
~FC071
~FC078
요약
1-2의 .foodcritic 파일에 체크 대상외로 하는 ID를 지정하는 방법이, 가장 편할까 생각합니다.
Reference
이 문제에 관하여(foodcritic에서 Chef의 정적 코드 분석 검사 대상을 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cyack2002/items/2edb89097874c92cb2d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 1-1.Chef 레시피에 코드 체크 대상외를 지정
체크 대상외로 하는 항목을 Chef 레시피에 직접 설정하는 방법입니다. 각 스크립트에서, 체크 대상외로 하는 ID를, #~와 같이 기재합니다.
node['modules'].each do |modules|
package "#{modules}" do #~FC002
action [:remove]
end
end
- 1-2.foodcritic 파일에 코드 체크 대상외를 지정
체크 대상외로 하는 항목을 하나의 파일로 설정하는 방법입니다. cookbook 아래에 .foodcritic 파일을 만들고 확인할 수 없는 ID를 나열합니다.
PS C:\xxx\chef-repo\site-cookbook\common > cat .foodcritic
~FC064
~FC065
~FC069
~FC071
~FC078
- 1-3.foodcritic 명령 실행시 코드 체크 대상외 지정
foodcritic 실행시에 체크 대상외의 ID를 지정하는 방법입니다. 이 경우 위의 1-1 및 1-2 설정이 무시됩니다.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t ~FC002
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic --help
foodcritic [cookbook_paths]
-t, --tags TAGS Check against (or exclude ~) rules with the specified tags.
2. 코드 체크 대상 지정
반대로 코드 검사 대상만 지정할 수 있습니다.
- 2-1.foodcritic 명령 실행 시 코드 체크 대상 지정
foodcritic 런타임에 확인할 ID를 지정합니다.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t FC002
foodcritic 런타임에 검사할 태그를 지정합니다. 태그는 foodcritic 홈페이지에서 확인하십시오.
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t roles
3. 설정 예
인터넷 액세스가 없는 환경이었기 때문에, .foodcritic 파일을 배치하는 1-2의 방법으로, 이하를 체크 대상외로 했습니다.
FC064: Ensure issues_url is set in metadata
FC065: Ensure source_url is set in metadata
FC069: Ensure standardized license defined in metadata
FC071: Missing LICENSE 파일
FC078: Ensure cookbook shared under an OSI-approved open source license
PS C:\xxx\chef-repo\site-cookbook\common > cat .foodcritic
~FC064
~FC065
~FC069
~FC071
~FC078
요약
1-2의 .foodcritic 파일에 체크 대상외로 하는 ID를 지정하는 방법이, 가장 편할까 생각합니다.
Reference
이 문제에 관하여(foodcritic에서 Chef의 정적 코드 분석 검사 대상을 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cyack2002/items/2edb89097874c92cb2d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t FC002
PS C:\xxx\chef-repo\site-cookbook\common > foodcritic -C ./ -t roles
인터넷 액세스가 없는 환경이었기 때문에, .foodcritic 파일을 배치하는 1-2의 방법으로, 이하를 체크 대상외로 했습니다.
FC064: Ensure issues_url is set in metadata
FC065: Ensure source_url is set in metadata
FC069: Ensure standardized license defined in metadata
FC071: Missing LICENSE 파일
FC078: Ensure cookbook shared under an OSI-approved open source license
PS C:\xxx\chef-repo\site-cookbook\common > cat .foodcritic
~FC064
~FC065
~FC069
~FC071
~FC078
요약
1-2의 .foodcritic 파일에 체크 대상외로 하는 ID를 지정하는 방법이, 가장 편할까 생각합니다.
Reference
이 문제에 관하여(foodcritic에서 Chef의 정적 코드 분석 검사 대상을 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cyack2002/items/2edb89097874c92cb2d2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(foodcritic에서 Chef의 정적 코드 분석 검사 대상을 필터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cyack2002/items/2edb89097874c92cb2d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)