Linux เจ
เจคเฉ macOS 'เจคเฉ C เจ
เจคเฉ C++ เจญเจพเจธเจผเจพเจตเจพเจ เจฒเจ PVS-เจธเจเฉเจกเฉเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจตเจฟเฉฑเจ, เจธเฉฐเจธเจเจฐเจฃ 7.04 เจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเฉเจ, เจจเจฟเจฐเจงเจพเจฐเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเฉเจธเจ เจฎเฉเจเจพ เจชเฉเจฐเจเจ เจนเฉเจเจ เจนเฉเฅค เจจเจตเฉเจ เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจคเฉเจธเฉเจ เจเจฎเจฟเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจ
เจคเฉ เจฌเฉเจจเจคเฉเจเจ เจจเฉเฉฐ เจเจฟเฉฑเจเจฃ เจฒเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจน เจฒเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเจฟเจเจพเจเจเจพ เจเจฟ เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ, เจฌเฉฑเจกเฉ เจ
เจคเฉ เจเจชเจตเฉเจ
เจฐ เจตเจฐเจเฉ เจชเฉเจฐเจธเจฟเฉฑเจง CI (เจเฉฐเจเฉเจจเจฟเจเจ
เจธ เจเฉฐเจเฉเจเฉเจฐเฉเจธเจผเจจ) เจธเจฟเจธเจเจฎเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจ GitHub เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒ เจธเฉเจเฉ เจเจพเจเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจนเฉเฅค
เจซเจพเจเจฒ เจธเฉเจเฉ เจเจพเจเจ เจฎเฉเจก
Linux เจ
เจคเฉ macOS เจฒเจ PVS-Studio 7.04 เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจฎเฉเจก เจนเฉเฅค เจเจน เจเจนเจจเจพเจ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจฒเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจเจฟเจจเฉเจนเจพเจ เจฆเจพ เจฌเจฟเจฒเจก เจธเจฟเจธเจเจฎ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ
เจจเจพเจฒ เจนเฉ, เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฆเฉ เจขเฉฐเจ เจจเฉเฉฐ เจเฉฐเจชเจพเจเจฒเจฐ เจฐเจจ (เจชเฉเจตเฉเจเจธ-เจธเจเฉเจกเฉเจ-เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจเจฐเฉเจธ) เจฆเฉ เจธเจเจฐเฉเจธ เจเจฐเฉเจธ เจฆเฉ เจจเจพเจฒ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจชเฉเจฐเจพ เจจเจฟเจฐเจฎเจพเจฃ เจเจฐเจจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉเจฐเฉเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ เจคเจพเจ เจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจเจพเจเจ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจธเจพเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉฐเจเจฒเจจ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฌเจพเจฐเฉ เจชเฉเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจเจเฉฑเจคเจฐ เจเจฐเฉเฅค
เจนเจพเจฒเจพเจเจเจฟ, เจเจธ เจตเจฟเจเจฒเจช เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจเจฎเฉ เจนเฉ - เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจ เจคเจพเจ เจนเจฐเฉเจ เจฒเจพเจเจ 'เจคเฉ เจชเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจชเฉเจฐเจพ เจฌเจฟเจฒเจก เจเจฐเฉเจธ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ, เจเฉ เจเจชเจฃเฉ เจเจช เจตเจฟเฉฑเจ เจเฉฑเจ เจคเฉเจเจผ เจเจฎเจฟเจ เจเจพเจเจ เจฆเฉ เจตเจฟเจเจพเจฐ เจฆเจพ เจเฉฐเจกเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจพเจ, เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉเจฆ เจเจฐเฉเจธเจฟเฉฐเจ เจจเจคเฉเจเฉ เจจเฉเฉฐ เจเฉเจธเจผ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฆเฉ เจฌเจพเจ เจฆ เจฆเฉ เจฒเจพเจเจ เจ เจงเฉเจฐเฉ เจนเฉ เจธเจเจฆเฉ เจนเจจ เจเฉเจเจฐ เจธเจฐเฉเจค เจซเจพเจเจฒ เจจเจฟเจฐเจญเจฐเจคเจพ เจฌเจฃเจคเจฐ เจเจฐเฉเจธเจฟเฉฐเจ เจคเฉเจ เจฌเจพเจ เจฆ เจฌเจฆเจฒ เจเจพเจเจฆเฉ เจนเฉ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเจพเจ #include เจเฉเฉเจฟเจ เจเจพเจเจฆเจพ เจนเฉ)เฅค
เจเจธเจฒเจ, เจ
เจธเฉเจ เจเจฎเจฟเจ เจเจพเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฐเฉเจธ เจฒเฉเจ เจฆเฉ เจจเจพเจฒ เจซเจพเจเจฒ เจธเฉเจเฉ เจเจพเจเจ เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจเฉฑเจ เจตเจพเจงเฉ เจตเจพเจฒเจพ เจฌเจฟเจฒเจก เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉ
เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจเฉฑเจ เจเฉเจเจธเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ เจคเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจจเฉเฉฐ เจชเจพเจธ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ -S:
pvs-studio-analyzer analyze ... -f build/compile_commands.json -S check-list.txt
เจเจน เจซเจพเจเจฒ เจซเจพเจเจฒเจพเจ เจฆเฉ เจ เจจเฉเจธเจพเจฐเฉ เจเจพเจ เจชเฉเจฐเจจ เจฎเจพเจฐเจ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเฉ, เจ เจคเฉ เจนเจฐเฉเจ เจจเจตเฉเจ เจซเจพเจเจฒ เจเฉฑเจ เจจเจตเฉเจ เจฒเจพเจเจจ เจคเฉ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจจเจพ เจธเจฟเจฐเจซ เจซเจพเจเจฒเจพเจ เจฆเฉ เจจเจพเจฎ, เจฌเจฒเจเจฟ เจตเฉฑเจ-เจตเฉฑเจ เจเฉเจเจธเจ เจจเฉเฉฐ เจตเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเจเจฟเจ เจนเฉ. เจชเจพเจฐเจธเจฐ เจฆเฉเจเฉเจเจพ เจเจฟ เจเจน เจเฉเจ เจซเจพเจเจฒ เจจเจนเฉเจ เจนเฉ เจ เจคเฉ เจฒเจพเจเจจ เจจเฉเฉฐ เจ เจฃเจกเจฟเฉฑเจ เจเจฐ เจฆเฉเจตเฉเจเจพเฅค เจเจน เจเจฟเฉฑเจชเจฃเฉ เจเจฐเจจ เจฒเจ เจฒเจพเจญเจฆเจพเจเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเฉเจเจฐ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ, เจ เจเจธเจฐ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ CI เจชเจพเจฐเจธเจฟเฉฐเจ เจฆเฉเจฐเจพเจจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฎเจฟเจ เจเจพเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจคเฉเจ เจซเจพเจเจฒเจพเจเฅค
เจนเฉเจฃ, เจเจธ เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ, เจคเฉเจธเฉเจ เจฎเฉเฉฑเจ เจตเจฟเจเจพเจธ เจธเจผเจพเจเจพ เจตเจฟเฉฑเจ เจเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจจเจตเฉเจ เจเฉเจก เจฆเฉ เจคเฉเจฐเฉฐเจค เจเจพเจเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจคเจธเจฆเฉเจ เจชเฉเจฐเจฃเจพเจฒเฉ เจฒเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจเฉเจคเจพเจตเจจเฉเจเจ 'เจคเฉ เจชเฉเจฐเจคเฉเจเจฟเจฐเจฟเจ เจเจฐเจจ เจฒเจ, เจเจชเจฏเฉเจเจคเจพ เจชเจฒเฉฑเจ-เจเจจเจตเจฐเจเจฐ เจเฉฐเจกเจพ เจธเจผเจพเจฎเจฒ เจเฉเจคเจพ เจเจฟเจ --เจธเฉเจเจ-เจเฉเจคเจพเจตเจจเฉเจเจ:
plog-converter ... --indicate-warnings ... -o /path/to/report.tasks ...
เจเจธ เจซเจฒเฉเจ เจฆเฉ เจจเจพเจฒ, เจเจจเจตเจฐเจเจฐ เจเฉฑเจ เจเฉเจฐ-เจเจผเฉเจฐเฉ เจเฉเจก เจตเจพเจชเจธ เจเจฐเฉเจเจพ เจเฉเจเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฐเจฟเจชเฉเจฐเจ เจตเจฟเฉฑเจ เจเฉเจคเจพเจตเจจเฉเจเจ เจนเจจเฅค เจฐเจฟเจเจฐเจจ เจเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจคเฉเจธเฉเจ เจเฉฑเจ เจชเฉเจฐเฉเจเจฎเจฟเจ เจนเฉเฉฑเจ, เจเจฎเจฟเจ เจเจพเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฌเจฒเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจ เจคเฉ เจธเจเจฐเฉเจจ 'เจคเฉ เจคเจฟเจเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฐเจฟเจชเฉเจฐเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเจธเจจเฉเฉฐ เจธเจพเจเจเจพ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจพเจ เจเจธเจจเฉเฉฐ เจกเจพเจ เจฆเฉเจเจฐเจพ เจญเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
เจจเฉเจ เจเจฐเฉเฅค เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจชเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ, เจเจฟเจเจเจเจฟ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจจเฉเฉฐ เจนเฉเจกเจฐ เจซเจพเจเจฒเจพเจ 'เจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจเฉฑเจ เจซเจพเจเจฒ เจคเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ. เจเจน C เจ เจคเฉ C++ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจฆเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจนเฉเฅค เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ, เจจเจฟเจฐเจญเจฐเจคเจพ เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉเจธเจผ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจน เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฆเฉเจเจฐเจพ เจเจชเจฃเฉ เจเจช เจ เฉฑเจชเจกเฉเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจเจจเจเจฐเฉเจฎเฉเจเจเจฒ เจชเจพเจฐเจธเจฟเฉฐเจ เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจซเจพเจเจฒเจฒเจฟเจธเจ เจเฉเจ เจฎเฉเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจเจฎเจฟเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฆเจพ เจซเจพเจเจฆเจพ เจเจน เจนเฉ เจเจฟ เจธเจฟเจฐเจซ เจเจธ เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉเจธเจผ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจจเจพ เจเจฟ เจเจฌเจเฉเจเจ เจซเจพเจเจฒเจพเจเฅค
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจเจฎ เจธเจฟเจงเจพเจเจค
เจชเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจฎเจพเจ เจฒเฉฑเจเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจเจธเจฆเฉ เจเฉเจ เจนเจฟเฉฑเจธเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจเจพ เจธเจฎเจเจฆเจพเจฐเฉ เจฐเฉฑเจเจฆเจพ เจนเฉเฅค เจธเจฎเฉฑเจธเจฟเจ เจเจน เจนเฉ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจจเจตเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฌเจพเจเฉ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒเจพเจ เจคเฉเจ เจตเฉฑเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ.
เจฆเฉ เจธเจผเจพเจเจพเจตเจพเจ เจตเจพเจฒเฉ เจเฉฑเจ เจตเจเจจเจฌเฉฑเจง เจฐเฉเฉฑเจ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ 'เจคเฉ เจเฉเจฐ เจเจฐเฉ:
เจฆเจพ เจฆเจฟเจเจพเจตเจพ เจเจฐเฉเจ เจเจฟ เจตเจเจจเจฌเฉฑเจงเจคเจพ A1 เจเฉเจก เจฆเฉ เจเจพเจซเจผเฉ เจตเฉฑเจกเฉ เจฎเจพเจคเจฐเจพ เจนเฉ เจเจฟเจธเจฆเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพ เจเฉเฉฑเจเฉ เจนเฉเฅค เจฅเฉเฉเจพ เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจเจฎเจฟเจ เจคเฉเจ เจเฉฑเจ เจธเจผเจพเจเจพ เจฌเจฃเจพเจ เจธเฉ A1 เจ เจคเฉ เจเฉเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฟเจเฅค
เจฌเฉเจธเจผเฉฑเจ, เจคเฉเจธเฉเจ เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจฆเฉเจเจฟเจ เจนเฉ A1 เจเฉฑเจฅเฉ เจฆเฉ เจนเฉเจฐ เจเจฎเจฟเจ เจธเจจ, เจชเจฐ เจเจน เจนเฉเจฐ เจธเจผเจพเจเจพเจตเจพเจ เจฆเฉ เจตเจฟเจฒเฉเจจเจคเจพ เจตเฉ เจธเจจ, เจเจฟเจเจเจเจฟ เจ เจธเฉเจ เจเจธ เจตเจฟเฉฑเจ เจตเจเจจเจฌเฉฑเจง เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจฎเจพเจธเจเจฐ. เจ เจคเฉ เจนเฉเจฃ เจเจน เจธเจฎเจพเจ เจ เจเจฟเจ เจนเฉ เจเจฆเฉเจ เจนเจพเจเจซเจฟเจเจธ เจคเจฟเจเจฐ เจเจธ เจฒเจ, เจฐเจฒเฉเจตเฉเจ เจฒเจ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจชเฉเจฐเจเจ เจนเฉเจ B3 ะธ A3.
เจฌเฉเจธเจผเฉฑเจ, เจเจนเจจเจพเจ เจฆเฉ เจ เจญเฉเจฆ เจฆเฉ เจชเฉเจฐเฉ เจจเจคเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉเจตเฉเจเจพ, เจชเจฐ เจเจน เจฌเจนเฉเจค เจฒเฉฐเจฎเจพ เจ เจคเฉ เจเฉเจฐ-เจตเจพเจเจฌ เจนเฉเจตเฉเจเจพ, เจเจฟเจเจเจเจฟ เจธเจฟเจฐเจซ เจเฉเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจธเฉเฅค เจเจธ เจฒเจ, เจธเจฟเจฐเจซ เจฌเจฆเจฒเฉ เจนเฉเจ เจฒเฉเจเจพเจ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจจเจพ เจตเจงเฉเจฐเฉ เจเฉเจธเจผเจฒ เจนเฉ.
เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจธเจผเจพเจเจพเจตเจพเจ เจฆเฉ เจตเจฟเฉฑเจ เจ เฉฐเจคเจฐ เจฎเจฟเจฒเจฆเจพ เจนเฉ, เจธเจผเจพเจเจพ เจฆเฉ เจธเจฟเจฐ เจตเจฟเฉฑเจ เจนเฉเจฃ เจเจฐเจเฉ เจเจฟเจธ เจคเฉเจ เจ เจธเฉเจ เจฎเจพเจธเจเจฐ เจตเจฟเฉฑเจ เจ เจญเฉเจฆ เจนเฉเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ:
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
$MERGE_BASE เจ เจธเฉเจ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจตเจฟเจเจพเจฐ เจเจฐเจพเจเจเฉเฅค เจคเฉฑเจฅ เจเจน เจนเฉ เจเจฟ เจนเจฐ เจธเฉเจเจ เจธเฉเจตเจพ เจ เจญเฉเจฆ เจฒเจ เจ เจงเจพเจฐ เจฌเจพเจฐเฉ เจฒเฉเฉเฉเจเจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจนเจฐ เจตเจพเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจกเฉเจเจพ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจจเจตเฉเจ เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจเจเจฃเจพ เจชเฉเจเจฆเจพ เจนเฉ. เจตเจฐเจฃเจจ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจฐเฉเจ เจตเฉเฉฑเจฌ เจธเฉเจตเจพเจตเจพเจ เจตเจฟเฉฑเจ เจเจธเจฆเจพ เจตเฉเจฐเจตเจพ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจเจธ เจฒเจ, เจธเจพเจจเฉเฉฐ เจธเจผเจพเจเจพเจตเจพเจ เจตเจฟเจเจเจพเจฐ เจ เฉฐเจคเจฐ เจฎเจฟเจฒเจฟเจ เจนเฉ, เจเจพเจ เจเจธ เจฆเฉ เจฌเจเจพเจ, เจซเจพเจเจฒ เจฆเฉ เจจเจพเจฎเจพเจ เจฆเฉ เจธเฉเจเฉ เจเฉ เจฌเจฆเจฒเฉเจเจ เจเจเจเจ เจนเจจ. เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจซเจพเจเจฒ เจฆเฉเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ .pvs-pr.list (เจ เจธเฉเจ เจเจชเจฐเฉเจเจค เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจเจธเจฆเฉ เจฒเจ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจคเจพ เจนเฉ) เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจจเฉเฉฐ:
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
-S .pvs-pr.list
เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจฒเฉเจ เจซเจพเจเจฒ (PVS-Studio.log) เจจเฉเฉฐ เจชเฉเฉเจนเจจเจฏเฉเจ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
plog-converter -t errorfile PVS-Studio.log --cerr -w
เจเจน เจเจฎเจพเจเจก เจตเจฟเฉฑเจ เจเจฒเจคเฉเจเจ เจจเฉเฉฐ เจธเฉเจเฉเจฌเฉฑเจง เจเจฐเฉเจเฉ
เจธเจฟเจฐเจซเจผ เจเฉฑเจฅเฉ เจธเจพเจจเฉเฉฐ เจจเจพ เจธเจฟเจฐเจซเจผ เจเจฒเจคเฉเจเจ เจฆเจฟเจเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจธเจเฉเจ เจ เจธเฉเจเจฌเจฒเฉ เจ เจคเฉ เจเจพเจเจ เจฒเจ เจธเจพเจกเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฌเจพเจฐเฉ เจธเฉเจเจฟเจค เจเจฐเจจ เจฆเฉ เจตเฉ เจฒเฉเฉ เจนเฉเฅค เจเจธเจฆเฉ เจฒเจ, เจเจจเจตเจฐเจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฐเจกเจพ เจเฉเฉเจฟเจ เจเจฟเจ เจธเฉ -W (--เจธเฉเจเจ-เจเฉเจคเจพเจตเจจเฉเจเจ). เจเฉเจเจฐ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจเฉเจคเจพเจตเจจเฉ เจนเฉ, เจคเจพเจ เจเจชเจฏเฉเจเจคเจพ เจฆเจพ เจตเจพเจชเจธเฉ เจเฉเจก เจชเจฒเฉฑเจ-เจเจจเจตเจฐเจเจฐ 2 เจตเจฟเฉฑเจ เจฌเจฆเจฒ เจเจพเจตเฉเจเจพ, เจเฉ เจฌเจฆเจฒเฉ เจตเจฟเฉฑเจ CI เจธเฉเจตเจพ เจจเฉเฉฐ เจธเฉเจเจฟเจค เจเจฐเฉเจเจพ เจเจฟ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจธเฉฐเจญเจพเจตเฉ เจคเจฐเฉเฉฑเจเฉเจเจ เจนเจจเฅค
เจเฉเจฐเฉเจตเจฟเจธ เจธเฉ.เจเจ.
เจธเฉฐเจฐเจเจจเจพ เจเฉฑเจ เจซเจพเจเจฒ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉเจคเฉ เจเจ เจนเฉ .travis.yml. เจธเจนเฉเจฒเจค เจฒเจ, เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจฌเฉเจธเจผ เจธเจเฉเจฐเจฟเจชเจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฃ เจฆเฉ เจธเจฒเจพเจน เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ เจเฉ เจซเจพเจเจฒ เจคเฉเจ เจฌเฉเจฒเจพเจ เจเจพเจฃเจเฉ .travis.yml (bash scriptname.sh function_name).
เจ เจธเฉเจ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจก เจจเฉเฉฐ เจธเจเฉเจฐเจฟเจชเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเจพเจเจเฉ bash, เจเจธ เจฒเจ เจธเจพเจจเฉเฉฐ เจตเจงเฉเจฐเฉ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจฎเจฟเจฒเจฆเฉ เจนเฉเฅค เจญเจพเจ เจตเจฟเฉฑเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ เจเจ เจนเฉเจ เจพเจ เจฒเจฟเจเฉเจ:
install:
- bash .travis.sh travis_install
เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉเจ เจนเจฆเจพเจเจคเจพเจ เจธเจจ, เจคเจพเจ เจคเฉเจธเฉเจ เจนเจพเจเจซเจจ เจจเฉเฉฐ เจนเจเจพ เจเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเจเฉเจฐเจฟเจชเจ เจตเจฟเฉฑเจ เจญเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
เจเจฒเฉ เจซเจพเจเจฒ เจเฉเจฒเฉเจนเฉเจ .travis.sh เจ เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจธเฉเฉฑเจเจ เฉฑเจช เจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ travis_install():
travis_install() {
wget -q -O - https://files.viva64.com/etc/pubkey.txt
| sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
sudo apt-get update -qq
sudo apt-get install -qq pvs-studio
}
เจเจ เจนเฉเจฃ เจญเจพเจ เจตเจฟเฉฑเจ เจเฉเฉเฉเจ เจธเจเจฐเจฟเจชเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฒเจพเจ:
script:
- bash .travis.sh travis_script
เจ เจคเฉ bash เจธเจเฉเจฐเจฟเจชเจ เจตเจฟเฉฑเจ:
travis_script() {
pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
git diff --name-only origin/HEAD > .pvs-pr.list
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
-S .pvs-pr.list
--disableLicenseExpirationCheck
else
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
fi
plog-converter -t errorfile PVS-Studio.log --cerr -w
}
เจเจน เจเฉเจก เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจจ เจคเฉเจ เจฌเจพเจ เจฆ เจเจฒเจพเจเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ CMake เจฌเจฟเจฒเจก เจนเฉ:
travis_script() {
CMAKE_ARGS="-DCMAKE_EXPORT_COMPILE_COMMANDS=On ${CMAKE_ARGS}"
cmake $CMAKE_ARGS CMakeLists.txt
make -j8
}
เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจจเจฟเจเจฒเฉเจเจพ:
travis_script() {
CMAKE_ARGS="-DCMAKE_EXPORT_COMPILE_COMMANDS=On ${CMAKE_ARGS}"
cmake $CMAKE_ARGS CMakeLists.txt
make -j8
pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
git diff --name-only origin/HEAD > .pvs-pr.list
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
-S .pvs-pr.list
--disableLicenseExpirationCheck
else
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
fi
plog-converter -t errorfile PVS-Studio.log --cerr -w
}
เจคเฉเจธเฉเจ เจธเจผเจพเจเจฆ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฟเจ เจนเฉเฅค $TRAVIS_PULL_REQUEST ะธ $TRAVIS_BRANCH. เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเฉเจธเจผเจฟเจค เจเจฐเจฆเจพ เจนเฉ:
- $TRAVIS_PULL_REQUEST เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉฐเจฌเจฐ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจฆเจพ เจนเฉ, เจเจพเจ เจเฉเจ เฉเจเฉ เจเจน เจเฉฑเจ เจเจฎ เจธเจผเจพเจเจพ เจนเฉ;
- $TRAVIS_REPO_SLUG เจชเฉเจฐเฉเจเฉเจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจจเจพเจฎ เจธเจเฉเจฐ เจเจฐเจฆเจพ เจนเฉเฅค
เจเจธ เจซเฉฐเจเจธเจผเจจ เจฆเจพ เจเจฒเจเฉเจฐเจฟเจฆเจฎ:
เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ เจฐเจฟเจเจฐเจจ เจเฉเจกเจพเจ เจฆเจพ เจเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจเฉเจคเจพเจตเจจเฉเจเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจฌเฉฑเจเฉ เจตเจเฉเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจจเฉเฉฐ เจซเจฒเฉเจ เจเจฐเจจ เจฒเจ เจฆเฉฑเจธเฉเจเฉเฅค
เจเจ เจเฉเจก เจฆเฉ เจเจธ เจฒเจพเจเจจ 'เจคเฉ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจตเจฟเจเจพเจฐ เจเจฐเฉเจ:
git diff --name-only origin/HEAD > .pvs-pr.list
เจคเฉฑเจฅ เจเจน เจนเฉ เจเจฟ เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ เจเจชเจฃเฉ เจเจช เจนเฉ เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฆเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจฆเฉเจฐเจพเจจ เจธเจผเจพเจเจพเจตเจพเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจเจฆเจพ เจนเฉ:
เจเจธ เจฒเจ, เจ
เจธเฉเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจฆเฉ เจนเจพเจ A4เจ
เจคเฉ เจจเจนเฉเจ B3->A3. เจเจธ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฆเฉ เจเจพเจฐเจจ, เจธเจพเจจเฉเฉฐ เจคเฉเจ เจ
เฉฐเจคเจฐ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจ
เฉเจเจจเฉเจเจธ x, เจเฉ เจเจฟ เจฌเฉเจฐเจพเจเจ เจฆเฉ เจธเจฟเจฐเจซเจผ เจธเจฟเจเจฐ 'เจคเฉ เจนเฉ เจฎเฉเจฒ.
เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจตเฉเจฐเจตเจพ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉ - เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจ เจจเฉเจตเจพเจฆ เจฏเฉเจจเจฟเจเจพเจ (*.c, *.cc, *.cpp, เจเจฆเจฟ) 'เจคเฉ เจธเจฟเจฐเจฒเฉเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเฉเจ เจเจฐเจจเจพเฅค เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฆเฉ เจฎเฉเจก เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเฉ เจธเจผเฉเจฐเฉเจเจค เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจซเจฟเจฐ เจเจนเจจเจพเจ เจจเฉเฉฐ .PVS-Studio เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ เจคเฉเจนเจพเจจเฉเฉฐ เจซเฉเจฒเจกเจฐเจพเจ เจจเฉเฉฐ เจเฉเจธเจผ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจ เจธเฉเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจฌเจเจพเจตเจพเจเจเฉ .PVS-เจธเจเฉเจกเฉเจ/:
cache:
directories:
- .PVS-Studio/
เจเจธ เจเฉเจก เจจเฉเฉฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ .travis.yml. เจเจน เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจเจเฉฑเจคเจฐ เจเฉเจคเฉ เจเจ เจตเฉฑเจ-เจตเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเฉ, เจเฉ เจเจฟ เจซเจพเจเจฒ เจธเฉเจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจพเจ เจตเจพเจงเฉ เจตเจพเจฒเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจฌเจพเจ เจฆ เจฆเฉเจเจ เจฆเฉเฉเจพเจ เจจเฉเฉฐ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจคเฉเจฐ 'เจคเฉ เจคเฉเจเจผ เจเจฐเฉเจเฉเฅค เจเฉเจเจฐ เจ เจเจฟเจนเจพ เจจเจนเฉเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจนเจฐ เจตเจพเจฐ เจธเจพเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเฉเจเจพเฅค
เจฌเฉฑเจกเฉ
เจเฉเจฐเฉเจตเจฟเจธ เจธเฉ.เจเจ. เจตเจพเจเจ,
เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจธเจพเจจเฉเฉฐ เจฌเจฟเจฒเจก เจฒเจพเจเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเฉเจ เจเจพเจฐเจตเจพเจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
เจเฉฐเจชเจพเจเจฒเจฐ เจฆเจฟเจ เจเฉ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจตเจฐเจคเจฟเจ เจเจฟเจ เจธเฉเฅค เจเจธ เจเจคเฉเจตเจฟเจงเฉ เจตเจฟเฉฑเจ เจธเจฅเจพเจชเจค เจกเฉเจเจฐ เจเฉฐเจเฉเจจเจฐ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, GCC เจฒเจ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจเฉฐเจเฉเจจเจฐ เจนเฉ:
เจเจ เจนเฉเจฃ เจชเฉเจตเฉเจเจธ-เจธเจเฉเจกเฉเจ เจ
เจคเฉ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจธเจนเฉเจฒเจคเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉเจ:
เจธเฉฐเจชเจพเจฆเจ เจตเจฟเฉฑเจ เจนเฉเจ เจฒเจฟเจเฉเจเจ เจฒเจพเจเจจเจพเจ เจเฉเฉเฉ:
apt-get update && apt-get -y install wget gnupg jq
wget -q -O - https://files.viva64.com/etc/pubkey.txt | apt-key add -
wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
apt-get update && apt-get -y install pvs-studio
เจเจฒเฉ เจนเฉเจฃ เจฐเจจ เจเฉเจฌ (เจชเจนเจฟเจฒเจพ เจเจเจเจจ) 'เจคเฉ เจเฉฑเจฒเฉเจ เจ เจคเฉ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉเจก เจจเฉเฉฐ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจเจกเฉเจเจฐ เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจเฉเฉเฉเจ:
pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY
if [ "$BUDDY_EXECUTION_PULL_REQUEST_NO" != '' ]; then
PULL_REQUEST_ID="pulls/$BUDDY_EXECUTION_PULL_REQUEST_NO"
MERGE_BASE=`wget -qO -
https://api.github.com/repos/${BUDDY_REPO_SLUG}/${PULL_REQUEST_ID}
| jq -r ".base.ref"`
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
-S .pvs-pr.list
else
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
fi
plog-converter -t errorfile PVS-Studio.log --cerr -w
เจเฉเจเจฐ เจคเฉเจธเฉเจ Travs-CI 'เจคเฉ เจญเจพเจ เจชเฉเฉเจนเจฟเจ เจนเฉ, เจคเจพเจ เจเจน เจเฉเจก เจคเฉเจนเจพเจกเฉ เจฒเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจพเจฃเฉ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ, เจนเฉเจฃ เจเฉฑเจ เจจเจตเจพเจ เจเจฆเจฎ เจนเฉ:
เจคเฉฑเจฅ เจเจน เจนเฉ เจเจฟ เจนเฉเจฃ เจ
เจธเฉเจ เจ
เจญเฉเจฆ เจฆเฉ เจจเจคเฉเจเฉ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจจเจนเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ, เจชเจฐ เจเจธ เจฌเฉเจฐเจพเจเจ เจฆเฉ เจฎเฉเจเฉ เจจเฉเฉฐ เจเจฟเฉฑเจฅเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเฉเจคเฉ เจเจ เจนเฉ:
เจเจธ เจฒเจ เจ
เจธเฉเจ เจเฉฑเจ เจธเจผเจฐเจคเฉเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจตเจฟเฉฑเจ เจนเจพเจ B3 เจ
เจคเฉ เจธเจพเจจเฉเฉฐ เจซเจฐเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ A3:
PULL_REQUEST_ID="pulls/$BUDDY_EXECUTION_PULL_REQUEST_NO"
MERGE_BASE=`wget -qO -
https://api.github.com/repos/${BUDDY_REPO_SLUG}/${PULL_REQUEST_ID}
| jq -r ".base.ref"`
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฒเจ A3 เจเจ GitHub API เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเจ:
https://api.github.com/repos/${USERNAME}/${REPO}/pulls/${PULL_REQUEST_ID}
เจ เจธเฉเจ เจฌเฉฑเจกเฉ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจนเฉ:
- $BUDDY_EXECUTION_PULL_REQEUST_NO - เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉฐเจฌเจฐ;
- $BUDDY_REPO_SLUG - เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ เจ เจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเจพ เจธเฉเจฎเฉเจฒ (เจเจฆเจพเจนเจฐเจจ เจฒเจ เจ เจงเจฟเจเจคเจฎ / เจเฉเจธเจ)เฅค
เจนเฉเจฃ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฌเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเฉเจ, เจ เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเฉเจ:
เจเฉเจฐเฉเจตเจฟเจธ เจธเฉเจเจ เจฆเฉ เจเจฒเจ, เจธเจพเจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจจเจนเฉเจ เจนเฉ .pvs-เจธเจเฉเจกเฉเจ เจเฉเจธเจผเจฟเฉฐเจ เจฒเจ, เจเจฟเจเจเจเจฟ เจฌเฉฑเจกเฉ เจ
เจเจฒเฉเจเจ เจฒเจพเจเจเจพเจ เจฒเจ เจธเจพเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเฉเจธเจผ เจเจฐเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ, เจเจเจฐเฉ เจเฉเจเจผ เจฌเจเฉ เจนเฉ เจฌเฉฑเจกเฉ เจตเจฟเฉฑเจ PVS-เจธเจเฉเจกเฉเจ เจฒเจ เจฒเฉเจเจเจจ เจ
เจคเฉ เจชเจพเจธเจตเจฐเจก เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจจเจพเฅค เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจ
เจธเฉเจ เจชเจพเจเจชเจฒเจพเจเจจ 'เจคเฉ เจตเจพเจชเจธ เจ เจเจพเจตเจพเจเจเฉเฅค เจธเจพเจจเฉเฉฐ เจตเฉเจฐเฉเจเจฌเจฒ เจธเฉเฉฑเจ เจเจฐเจจ เจ
เจคเฉ PVS-เจธเจเฉเจกเฉเจ เจฒเจ เจฒเฉเจเจเจจ เจ
เจคเฉ เจเฉเฉฐเจเฉ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ, เจเฉฑเจ เจจเจตเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเจพเจ เจเจฎเจฟเจ เจฆเฉ เจฆเจฟเฉฑเจ เจเฉฑเจ เจเจพเจเจ เจจเฉเฉฐ เจเจพเจฒเฉ เจเจฐเฉเจเฉเฅค เจเฉเจเจฐ เจเฉฑเจ เจเจฎเจฟเจ เจตเจฟเฉฑเจ เจเจฒเจคเฉเจเจ เจนเจจ, เจคเจพเจ เจฌเฉฑเจกเฉ เจเจธเจจเฉเฉฐ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจชเฉฐเจจเฉ 'เจคเฉ เจฆเจฐเจธเจพเจเจเจพ.
AppVeyor
AppVeyor เจธเฉเจ เจ เจช เจเจฐเจจเจพ เจฌเฉฑเจกเฉ เจฆเฉ เจธเจฎเจพเจจ เจนเฉ, เจเจฟเจเจเจเจฟ เจธเจญ เจเฉเจ เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ *.yml เจซเจพเจเจฒ เจเฉเฉเจจ เจฆเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเฉฐเจเฉเจช เจตเจฟเฉฑเจ เจธเฉเจเจฟเฉฐเจเจเจผ เจเฉเจฌ เจคเฉ เจเฉฑเจฒเฉเจ:
เจเจฒเฉ เจเจธ เจชเฉฐเจจเฉ เจจเฉเฉฐ เจนเฉเจ เจพเจ เจธเจเฉเจฐเฉเจฒ เจเจฐเฉเจ เจ
เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉเจธเจผ เจธเฉเจตเจฟเฉฐเจ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเฉเจ:
เจเจ เจนเฉเจฃ เจตเจพเจคเจพเจตเจฐเจฃ เจเฉเจฌ เจคเฉ เจเฉฑเจฒเฉเจ, เจเจฟเฉฑเจฅเฉ เจ
เจธเฉเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจฟเฉฑเจคเจฐ เจ
เจคเฉ เจฒเฉเฉเฉเจเจฆเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ:
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจชเจฟเจเจฒเฉ เจญเจพเจเจพเจ เจจเฉเฉฐ เจชเฉเฉเจนเจฟเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจฆเฉ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ - เจคเฉเจ เจฌเจนเฉเจค เจเจพเจฃเฉ เจนเฉ PVS_KEY ะธ PVS_USERNAME. เจเฉ เจจเจนเฉเจ, เจคเจพเจ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฏเจพเจฆ เจฆเจฟเจตเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจเจน เจชเฉเจตเฉเจเจธ-เจธเจเฉเจกเฉเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฆเฉ เจฒเจพเจเจธเฉเจเจธ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเจผเจฐเฉเจฐเฉ เจนเจจเฅค เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ, เจ
เจธเฉเจ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจฌเจพเจธเจผ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจตเจฟเฉฑเจ เจฆเฉเจฌเจพเจฐเจพ เจฎเจฟเจฒเจพเจเจเฉ.
เจนเฉเจ เจพเจ เจเจธเฉ เจชเฉฐเจจเฉ 'เจคเฉ, เจเฉเจเจฟเฉฐเจ เจฒเจ เจซเฉเจฒเจกเจฐ เจฆเจฟเจ:
เจเฉเจเจฐ เจ
เจธเฉเจ เจ
เจเจฟเจนเจพ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ
เจธเฉเจ เจเฉฑเจ เจฆเฉ เจซเจพเจเจฒเจพเจ เจฆเฉ เจฌเจเจพเจ เจชเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจฐเจพเจเจเฉ, เจชเจฐ เจธเจพเจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจ
เจงเจพเจฐ เจคเฉ เจเจเจเจชเฉเฉฑเจ เจชเฉเจฐเจพเจชเจค เจนเฉเจตเฉเจเฉ. เจเจธ เจฒเจ, เจธเจนเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเจพเจฎ เจฆเจฐเจ เจเจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉเฅค
เจนเฉเจฃ เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจชเจฐเจเจฃ เจฆเจพ เจธเจฎเจพเจ เจ เจเจฟเจ เจนเฉเฅค เจเฉเจธเจ เจเฉเจฌ เจเฉเจฒเฉเจนเฉ เจ เจคเฉ เจธเจเฉเจฐเจฟเจชเจ เจเฉเจฃเฉ:
เจเจธ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉเจก เจจเฉเฉฐ เจชเฉเจธเจ เจเจฐเฉ:
sudo apt-get update && sudo apt-get -y install jq
wget -q -O - https://files.viva64.com/etc/pubkey.txt
| sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list
https://files.viva64.com/etc/viva64.list
sudo apt-get update && sudo apt-get -y install pvs-studio
pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY
PWD=$(pwd -L)
if [ "$APPVEYOR_PULL_REQUEST_NUMBER" != '' ]; then
PULL_REQUEST_ID="pulls/$APPVEYOR_PULL_REQUEST_NUMBER"
MERGE_BASE=`wget -qO -
https://api.github.com/repos/${APPVEYOR_REPO_NAME}/${PULL_REQUEST_ID}
| jq -r ".base.ref"`
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
--dump-files --dump-log pvs-dump.log
-S .pvs-pr.list
else
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
fi
plog-converter -t errorfile PVS-Studio.log --cerr -w
เจเจ เจเฉเจก เจฆเฉ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจนเจฟเฉฑเจธเฉ 'เจคเฉ เจเฉฑเจ เจจเจเจผเจฐ เจฎเจพเจฐเฉเจ:
PWD=$(pwd -L)
if [ "$APPVEYOR_PULL_REQUEST_NUMBER" != '' ]; then
PULL_REQUEST_ID="pulls/$APPVEYOR_PULL_REQUEST_NUMBER"
MERGE_BASE=`wget -qO -
https://api.github.com/repos/${APPVEYOR_REPO_NAME}/${PULL_REQUEST_ID}
| jq -r ".base.ref"`
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
--dump-files --dump-log pvs-dump.log
-S .pvs-pr.list
else
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
--disableLicenseExpirationCheck
fi
เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจฒเจ pwd เจเจฎเจพเจเจก เจฆเฉ เจฎเฉเฉฑเจฒ เจฆเฉ เจฌเจเจพเจ เจเจพเจธ เจ เจธเจพเจเจจเจฎเฉเจเจ เจเฉ เจเจธ เจกเจฟเจซเฉเจฒเจ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจชเจนเจฟเจฒเฉ เจจเจเจผเจฐ เจตเจฟเฉฑเจ เจ เจเฉเจฌ เจฒเฉฑเจเจฆเจพ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ, เจฎเฉเจ เจเฉฑเจ เจชเจฒ เจตเจฟเฉฑเจ เจธเจญ เจเฉเจ เจธเจฎเจเจพเจตเจพเจเจเจพเฅค
AppVeyor เจตเจฟเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจธเจฅเจพเจชเจค เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจฎเฉเจจเฉเฉฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฆเฉ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจ เจเฉเจฌ เจตเจฟเจตเจนเจพเจฐ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจเจฐเจจเจพ เจชเจฟเจเฅค เจเจ เจชเจพเจธเฉ, เจธเจญ เจเฉเจ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจเฉเจคเจพ, เจชเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจธเจผเฉเจฐเฉ เจจเจนเฉเจ เจนเฉเจเจ. เจฎเฉเจ เจเจน เจฆเฉเจเจฃ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจฎเจพเจ เจฌเจฟเจคเจพเจเจ เจเจฟ เจ เจธเฉเจ /home/appveyor/projects/testcalc/ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจนเจพเจ, เจ เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจ เจฏเจเฉเจจเฉ เจนเฉ เจเจฟ เจ เจธเฉเจ /opt/appveyor/build-agent/ เจตเจฟเฉฑเจ เจนเจพเจเฅค เจซเจฟเจฐ เจฎเฉเจจเฉเฉฐ เจ เจนเจฟเจธเจพเจธ เจนเฉเจเจ เจเจฟ $PWD เจตเฉเจฐเฉเจเจฌเจฒ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจเฉเจ เจนเฉเฅค เจเจธ เจเจพเจฐเจจ เจเจฐเจเฉ, เจฎเฉเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจธเจฆเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจ เจชเจกเฉเจ เจเฉเจคเจพ เจนเฉเฅค
เจ เจคเฉ เจซเจฟเจฐ เจธเจญ เจเฉเจ, เจชเจนเจฟเจฒเจพเจ เจตเจพเจเจ:
เจนเฉเจฃ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจจเจฟเฉฑเจชเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉ:
PULL_REQUEST_ID="pulls/$APPVEYOR_PULL_REQUEST_NUMBER"
MERGE_BASE=`wget -qO -
https://api.github.com/repos/${APPVEYOR_REPO_NAME}/${PULL_REQUEST_ID}
| jq -r ".base.ref"`
เจเจธ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเจจเฉเจนเจพเจ เจธเจผเจพเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจ เฉฐเจคเจฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ เจเจฟเจจเฉเจนเจพเจ 'เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเฉเจธเจผเจฟเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจธเจฆเฉ เจฒเจ เจธเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- $APPVEYOR_PULL_REQUEST_NUMBER - เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉฐเจฌเจฐ;
- $APPVEYOR_REPO_NAME - เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ เจ เจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจญเฉฐเจกเจพเจฐเฅค
เจธเจฟเฉฑเจเจพ
เจฌเฉเจธเจผเฉฑเจ, เจ เจธเฉเจ เจธเจพเจฐเฉเจเจ เจธเฉฐเจญเจต เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจธเฉเจตเจพเจตเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ, เจเจนเจจเจพเจ เจธเจพเจฐเจฟเจเจ เจฆเฉ เจเฉฐเจฎ เจฆเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฌเจนเฉเจค เจธเจฎเจพเจจ เจนเจจเฅค เจเฉเจเจฟเฉฐเจ เจฆเฉ เจ เจชเจตเจพเจฆ เจฆเฉ เจจเจพเจฒ, เจนเจฐเฉเจ เจธเฉเจตเจพ เจเจชเจฃเฉ เจเฉเจฆ เจฆเฉ "เจฌเจพเจเจ" เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ, เจเจธเจฒเจ เจนเจฐ เจเฉเจเจผ เจนเจฎเฉเจธเจผเจพ เจตเฉฑเจเจฐเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ.
เจเจฟเจคเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเฉเจฐเฉเจตเจฟเจธ-เจธเฉเจเจ เจตเจฟเฉฑเจ, เจเฉเจก เจ เจคเฉ เจเฉเจเจฟเฉฐเจ เจฆเฉเจเจ เจเฉเจ เจฒเจพเจเจจเจพเจ เจจเจฟเจฐเจตเจฟเจเจจ เจเฉฐเจฎ เจเจฐเจฆเฉเจเจ เจนเจจ; เจเจฟเจคเฉ, เจเจฟเจตเฉเจ เจเจฟ AppVeyor เจตเจฟเฉฑเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจซเฉเจฒเจกเจฐ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ; เจชเจฐ เจเจฟเจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฟเจฒเฉฑเจเจฃ เจเฉเฉฐเจเฉเจเจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจ เจคเฉ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจฏเจเฉเจจ เจฆเจฟเจตเจพเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจธเจผ เจเฉเจคเฉ เจเฉเจเฉเฉ เจจเฉเฉฐ เจเจตเจฐเจฐเจพเจเจ เจเจฐเจจ เจฆเจพ เจฎเฉเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจพ เจธเจเฉเฅค เจเจธ เจฒเจ, เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจธเฉเจตเจพ 'เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจจเฉเฉฐ เจธเฉเจ เจ เจช เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟเจธเจฆเฉ เจเฉฑเจชเจฐ เจเจฐเจเจพ เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจธเฉ, เจคเจพเจ เจชเจนเจฟเจฒเจพเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจเจฟเฉฐเจ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเจนเฉเจ เจนเฉเจฃเจเฉเจเจเฅค
เจคเฉเจนเจพเจกเฉ เจงเจฟเจเจจ เจฒเจ เจงเฉฐเจจเจตเจพเจฆ. เจเฉ เจเฉเจ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเจพ, เจคเจพเจ เจฌเฉเจเจฟเจเจ เจธเจพเจจเฉเฉฐ เจเจธ 'เจคเฉ เจฒเจฟเจเฉ
เจเฉ เจคเฉเจธเฉเจ เจเจธ เจฒเฉเจ เจจเฉเฉฐ เจ
เฉฐเจเฉเจฐเฉเจเจผเฉ เจฌเฉเจฒเจฃ เจตเจพเจฒเฉ เจฆเจฐเจธเจผเจเจพเจ เจจเจพเจฒ เจธเจพเจเจเจพ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจ
เจจเฉเจตเจพเจฆ เจฒเจ เจฒเจฟเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ: เจฎเฉเจเจธเจฟเจฎ เจเจผเจตเจฟเจเจเจฟเฉฐเจเจธเฉเจตเฅค
เจธเจฐเฉเจค: www.habr.com