เดœเต†เด™เตเด•เดฟเตปเดธเดฟเตฝ IntelliJ IDEA เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเต

เด‡เตปเตเดฑเดฒเดฟเดœเต† เดเดกเดฟเดฏเดฏเตเด•เตเด•เต เด‡เดจเตเดจเต เดเดฑเตเดฑเดตเตเด‚ เดจเต‚เดคเดจเดฎเดพเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดœเดพเดต เด•เต‹เดกเต เด…เดจเดฒเตˆเดธเตผ เด‰เดฃเตเดŸเต, เด…เดคเต เด…เดคเดฟเตปเตเดฑเต† เด•เดดเดฟเดตเตเด•เดณเดฟเตฝ "เดตเต†เดฑเตเดฑเดฑเตปเดธเดฟเดจเต†" เดตเดณเดฐเต† เดชเดฟเดจเตเดจเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดšเต†เด•เตเด•เตเดธเตเดฑเตเดฑเตˆเตฝ ะธ เดธเตเดชเต‹เดŸเตเดŸเตเดฌเด—เตเด—เตเด•เตพ. เด‡เดคเดฟเตปเตเดฑเต† เดจเดฟเดฐเดตเดงเดฟ "เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ" เด•เต‹เดกเดฟเด‚เด—เต เดถเตˆเดฒเดฟ เดฎเตเดคเตฝ เดธเดพเดงเดพเดฐเดฃ เดฌเด—เตเด•เตพ เดตเดฐเต† เดตเดฟเดตเดฟเดง เดตเดถเด™เตเด™เดณเดฟเตฝ เด•เต‹เดกเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดตเดฟเดถเด•เดฒเดจ เดซเดฒเด™เตเด™เตพ เดกเต†เดตเดฒเดชเตเดชเดฑเตเดŸเต† IDE-เดฏเตเดŸเต† เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เด‡เตปเตเดฑเตผเดซเต‡เดธเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดฟเดŸเดคเตเดคเต‹เดณเด‚, เด…เดต เดตเดฟเด•เดธเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดชเตเดฐเดฏเต‹เดœเดจเด‚ เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดฟเดฑเดตเต‡เดฑเตเดฑเดฃเด‚ เดฌเดฟเตฝเดกเต เดชเตˆเดชเตเดชเตเดฒเตˆเดจเดฟเตปเตเดฑเต† เด†เดฆเตเดฏ เด˜เดŸเตเดŸเดฎเต†เดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เด…เดคเดฟเตปเตเดฑเต† เดซเดฒเด™เตเด™เตพ เด—เตเดฃเดฎเต‡เดจเตเดฎเดฏเตเดณเตเดณ เด—เต‡เดฑเตเดฑเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเดฎเตเดณเตเดณ เด—เต‡เดฑเตเดฑเตเด•เตพ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดฟเตฝเดกเต เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด‚. เดŸเต€เด‚เดธเดฟเดฑเตเดฑเดฟ เดธเดฟเด เดเดกเดฟเดฏเดฏเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดพเด‚. เดจเดฟเด™เตเด™เตพ TeamCity เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚, เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ CI เดธเต†เตผเดตเดฑเดฟเตฝ IDEA เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดถเตเดฐเดฎเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. เดเดกเดฟเดฏ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดŽเดกเดฟเดทเตป, เดœเต†เตปเด•เดฟเตปเดธเต, เดตเดพเดฃเดฟเด‚เด—เตเดธเต เดŽเตปเดœเดฟ เดชเตเดฒเด—เดฟเตป เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเต เด•เดพเดฃเดพเตป เดžเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต.

เด˜เดŸเตเดŸเด‚ 1. เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดŸเดคเตเดคเดฟ เด’เดฐเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดจเต‡เดŸเตเด•

เด†เดฆเตเดฏเด‚, เด—เตเดฐเดพเดซเดฟเด•เตเด•เตฝ เด‡เตปเตเดฑเตผเดซเต‡เดธเต เด‡เดฒเตเดฒเดพเดคเตเดค เด’เดฐเต CI เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เด’เดฐเต IDE (เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป!) เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดŽเดจเตเดจ เด†เดถเดฏเด‚ เดธเด‚เดถเดฏเดพเดธเตเดชเดฆเดตเตเด‚ เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณเดคเตเดฎเดพเดฏเดฟ เดคเต‹เดจเตเดจเดฟเดฏเต‡เด•เตเด•เดพเด‚. เดญเดพเด—เตเดฏเดตเดถเดพเตฝ, IDEA เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต เด•เต‹เดกเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเด‚เด—เต ะธ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเดจเตเดจเต. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดˆ เดฎเต‹เดกเดฟเตฝ IDEA เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด’เดฐเต เด—เตเดฐเดพเดซเดฟเด•เตเดธเต เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† เดˆ เดŸเดพเดธเตเด•เตเด•เตเด•เตพ เด’เดฐเต เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต†เตผเดตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต bin/inspect.sh IDEA เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต. เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‡เดตเดฏเดพเดฃเต:

  • เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฎเตเดดเตเดตเตป เดชเดพเดค (เดฌเดจเตเดงเตเด•เตเด•เตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ),
  • เดชเดฐเดฟเดถเต‹เดงเดจ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเดณเตเดณ .xml เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ .idea/inspectionProfiles/Project_Default.xml เดŽเดจเตเดจเดคเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต),
  • เดตเดฟเดถเด•เดฒเดจ เดซเดฒเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเดณเตเดณ .xml เดซเดฏเดฒเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเต‹เตพเดกเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเต‚เตผเดฃเตเดฃ เดชเดพเดค.

เด•เต‚เดŸเดพเดคเต†, เด…เดคเต เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต

  • Java SDK-เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค IDE-เดฏเดฟเตฝ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚, เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดˆ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต jdk.table.xml IDEA เด—เตเดฒเต‹เดฌเตฝ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเต‹เตพเดกเดฑเดฟเตฝ. IDEA เด—เตเดฒเต‹เดฌเตฝ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดคเดจเตเดจเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเตปเตเดฑเต† เดนเต‹เด‚ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดˆ เดธเตเดฅเดพเดจเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚ เดซเดฏเดฒเดฟเตฝ idea.properties.
  • เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตโ€Œเดค เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดธเดพเดงเตเดตเดพเดฏ เด’เดฐเต IDEA เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด…เดคเดฟเดจเดพเดฏเดฟ เดชเดคเดฟเดชเตเดชเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเตฝ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดšเดฟเดฒ เดซเดฏเดฒเตเด•เตพ เดจเดฟเด™เตเด™เตพ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดพเดฏเดคเต:
    • .idea/inspectionProfiles/Project_Default.xml - เด…เดจเดฒเตˆเดธเตผ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ, เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเตฝ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเตเดฎเตเดชเต‹เตพ เด…เดต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚,
    • .idea/modules.xml - เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚ 'เดˆ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตฝ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ' เดŽเดจเตเดจ เดชเดฟเดถเด•เต เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚,
    • .idea/misc.xml - เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚ 'เดˆ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ JDK เดถเดฐเดฟเดฏเดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ' เดŽเดจเตเดจ เดชเดฟเดถเด•เต เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚,
    • *.iml-ั„ะฐะนะปั‹ โ€” เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เดฎเตŠเดกเตเดฏเต‚เดณเดฟเตฝ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดคเตเดค JDK-เดฏเต† เด•เตเดฑเดฟเดšเตเดšเต เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚.

เดˆ เดซเดฏเดฒเตเด•เตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚ .gitignore, เด…เดตเดฏเดฟเตฝ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดกเดตเดฒเดชเตเดชเดฑเตเดŸเต† เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเดฟเดตเดฐเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ - เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ workspace.xml, เด…เดคเตเดคเดฐเด‚ เดตเดฟเดตเดฐเด™เตเด™เตพ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเดฟเดจเดพเตฝ เด…เดคเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

IDEA เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดชเดคเดฟเดชเตเดชเดฟเดจเตŠเดชเตเดชเด‚ JDK-เดฏเตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดค เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเตฝ "เดชเดฟเดฑเตเดฑเต" เดšเต†เดฏเตเดฏเดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฏ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเดพเด•เตเด•เต‡เดœเต เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเด‚. เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต เดฌเต‡เดธเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚, เดžเด™เตเด™เดณเตเดŸเต† เดกเต‹เด•เตเด•เตผเดซเดฏเตฝ เด‡เดคเดพเดฃเต:

Dockerfile

FROM openkbs/ubuntu-bionic-jdk-mvn-py3

ARG INTELLIJ_VERSION="ideaIC-2019.1.1"

ARG INTELLIJ_IDE_TAR=${INTELLIJ_VERSION}.tar.gz

ENV IDEA_PROJECT_DIR="/var/project"

WORKDIR /opt

COPY jdk.table.xml /etc/idea/config/options/

RUN wget https://download-cf.jetbrains.com/idea/${INTELLIJ_IDE_TAR} && 
    tar xzf ${INTELLIJ_IDE_TAR} && 
    tar tzf ${INTELLIJ_IDE_TAR} | head -1 | sed -e 's//.*//' | xargs -I{} ln -s {} idea && 
    rm ${INTELLIJ_IDE_TAR} && 
    echo idea.config.path=/etc/idea/config >> idea/bin/idea.properties && 
    chmod -R 777 /etc/idea

CMD idea/bin/inspect.sh ${IDEA_PROJECT_DIR} ${IDEA_PROJECT_DIR}/.idea/inspectionProfiles/Project_Default.xml ${IDEA_PROJECT_DIR}/target/idea_inspections -v2

เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต idea.config.path เดซเต‹เตพเดกเดฑเดฟเตฝ เด…เดคเดฟเตปเตเดฑเต† เด†เด—เต‹เดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดคเดฟเดฐเดฏเดพเตป เดžเด™เตเด™เตพ IDEA-เดฏเต† เดจเดฟเตผเดฌเดจเตเดงเดฟเดšเตเดšเต /etc/idea, เด•เดพเดฐเดฃเด‚ CI-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเตปเตเดฑเต† เดนเต‹เด‚ เดซเต‹เตพเดกเตผ เด’เดฐเต เด…เดจเดฟเดถเตเดšเดฟเดคเดคเตเดตเดตเตเด‚ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฃเต.

เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเด•เตผเดคเตเดคเดฟเดฏ เดซเดฏเตฝ เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต: jdk.table.xml, เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ OpenJDK-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดคเด•เตพ เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดเดกเดฟเดฏ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเดณเตเดณ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดซเดฏเตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เดพเด‚):

jdk.table.xml

<application>
 <component name="ProjectJdkTable">
   <jdk version="2">
     <name value="1.8" />
     <type value="JavaSDK" />
     <version value="1.8" />
     <homePath value="/usr/java" />
     <roots>
       <annotationsPath>
         <root type="composite">
           <root url="jar://$APPLICATION_HOME_DIR$/lib/jdkAnnotations.jar!/" type="simple" />
         </root>
       </annotationsPath>
       <classPath>
         <root type="composite">
           <root url="jar:///usr/java/jre/lib/charsets.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/deploy.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/access-bridge-64.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/cldrdata.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/dnsns.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/jaccess.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/jfxrt.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/localedata.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/nashorn.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/sunec.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/sunjce_provider.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/sunmscapi.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/sunpkcs11.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/ext/zipfs.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/javaws.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/jce.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/jfr.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/jfxswt.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/jsse.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/management-agent.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/plugin.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/resources.jar!/" type="simple" />
           <root url="jar:///usr/java/jre/lib/rt.jar!/" type="simple" />
         </root>
       </classPath>
     </roots>
     <additional />
   </jdk>
 </component>
</application>

เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏ เดšเดฟเดคเตเดฐเด‚ เดกเต‹เด•เตเด•เตผ เดนเดฌเตเดฌเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต.

เดฎเตเดจเตเดจเต‹เดŸเตเดŸเต เดชเต‹เด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเตฝ เดเดกเดฟเดฏ เด…เดจเดฒเตˆเดธเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚:

docker run --rm -v <ะฟัƒั‚ัŒ/ะบ/ะฒะฐัˆะตะผัƒ/ะฟั€ะพะตะบั‚ัƒ>:/var/project inponomarev/intellij-idea-analyzer

เดตเดฟเดถเด•เดฒเดจเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฃเด‚, เด…เดจเดฒเตˆเดธเตผ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ .xml เดซเดฏเดฒเตเด•เตพ เดŸเดพเตผเด—เต†เดฑเตเดฑเต/เดเดกเดฟเดฏ_เด‡เตปเดธเตเดชเต†เด•เตเดทเตปเดธเต เดธเดฌเตเดซเต‹เตพเดกเดฑเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚.

เดเดคเต CI เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเตเด‚ IDEA เด…เดจเดฒเตˆเดธเตผ เด’เดฑเตเดฑเดฏเตเด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเดคเดฟเตฝ เด‡เดชเตเดชเต‹เตพ เดธเด‚เดถเดฏเดฎเดฟเดฒเตเดฒ, เดžเด™เตเด™เตพ เดฐเดฃเตเดŸเดพเด‚ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด™เตเด™เตเดจเตเดจเต.

เด˜เดŸเตเดŸเด‚ 2. เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•

.xml เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดฎเดจเตเดทเตเดฏเตผเด•เตเด•เต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเตฝ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด…เดคเดฟเตปเตเดฑเต† เดซเดฒเด™เตเด™เตพ เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเดฎเตเดณเตเดณ เด—เต‡เดฑเตเดฑเตเด•เดณเดฟเดฒเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเด‚ - เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐ เดฎเดพเดจเดฆเดฃเตเดกเด™เตเด™เตพเด•เตเด•เดจเตเดธเตƒเดคเดฎเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸ เดฎเดพเดฑเตเดฑเด‚ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดฎเต‹ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดฎเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฏเตเด•เตเดคเดฟ.

เด‡เดคเต เดจเดฎเตเดฎเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเด‚ เดœเต†เด™เตเด•เดฟเตปเดธเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ NG เดชเตเดฒเด—เดฟเตป, เด‡เดคเต 2019 เดœเดจเตเดตเดฐเดฟเดฏเดฟเตฝ เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ. เด…เดคเดฟเตปเตเดฑเต† เด†เดตเดฟเตผเดญเดพเดตเดคเตเดคเต‹เดŸเต†, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฒ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดชเตเดฒเด—เดฟเดจเตเดจเตเด•เดณเตเด‚ เดœเต†เตปเด•เดฟเตปเดธเดฟเตฝ (CheckStyle, FindBugs, PMD, เดฎเตเดคเดฒเดพเดฏเดต) เด‡เดชเตเดชเต‹เตพ เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเตเดฒเด—เดฟเตป เดฐเดฃเตเดŸเต เดญเดพเด—เด™เตเด™เตพ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต:

  • เดจเดฟเดฐเดตเดงเดฟ เด…เดจเดฒเตˆเดธเตผ เดธเดจเตเดฆเต‡เดถ เดถเต‡เด–เดฐเดฃเด•เตเด•เดพเตผ (เดชเดŸเตเดŸเดฟเด• เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด• AcuCobol เดฎเตเดคเตฝ ZPT เดฒเดฟเตปเตเดฑเต เดตเดฐเต†เดฏเตเดณเตเดณ เดถเดพเดธเตเดคเตเดฐเดคเตเดคเดฟเดจเต เด…เดฑเดฟเดฏเดพเดตเตเดจเตเดจ เดŽเดฒเตเดฒเดพ เด…เดจเดฒเตˆเดธเดฑเตเด•เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต)
  • เด…เดตเดฏเตโ€Œเด•เตเด•เต†เดฒเตเดฒเดพเด‚ เด’เดฐเตŠเดฑเตเดฑ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดตเตเดฏเต‚เดตเตผ.

เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เดŽเตปเดœเดฟเด•เตเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดœเดพเดต เด•เด‚เดชเตˆเดฒเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเด‚ เดฎเดพเดตเตป เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต: เด…เดต เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดต เดตเดณเดฐเต† เด…เดชเต‚เตผเดตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเตเดณเตเดณเต‚. IntelliJ IDEA เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเด‚ เด…เด‚เด—เต€เด•เตƒเดค เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เดชเตเดฒเด—เดฟเตป เดชเตเดคเดฟเดฏเดคเดพเดฏเดคเดฟเดจเดพเตฝ, เด‡เดคเต เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดœเต†เด™เตเด•เดฟเตปเดธเต เดชเตˆเดชเตเดชเตเดฒเตˆเดจเตเดฎเดพเดฏเดฟ เดจเดจเตเดจเดพเดฏเดฟ เด‡เดŸเดชเดดเด•เตเดจเตเดจเต. เด…เดคเดฟเตปเตเดฑเต† เดชเด™เตเด•เดพเดณเดฟเดคเตเดคเดคเตเดคเต‹เดŸเต†เดฏเตเดณเตเดณ เดฌเดฟเตฝเดกเต เดธเตเดฑเตเดฑเต†เดชเตเดชเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚ (เดเดคเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดพเดฃเต เดžเด™เตเด™เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเดคเต†เดจเตเดจเตเด‚ เดเดคเตŠเด•เตเด•เต† เดซเดฏเดฒเตเด•เดณเดพเดฃเต เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต†เดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เดชเตเดฒเด—เดฟเดจเดฟเดจเต‹เดŸเต เดชเดฑเดฏเตเด•):

stage ('Static analysis'){
    sh 'rm -rf target/idea_inspections'
    docker.image('inponomarev/intellij-idea-analyzer').inside {
       sh '/opt/idea/bin/inspect.sh $WORKSPACE $WORKSPACE/.idea/inspectionProfiles/Project_Default.xml $WORKSPACE/target/idea_inspections -v2'
    }
    recordIssues(
       tools: [ideaInspection(pattern: 'target/idea_inspections/*.xml')]
    )
}

เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เด‡เตปเตเดฑเตผเดซเต‡เดธเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เดœเต†เด™เตเด•เดฟเตปเดธเดฟเตฝ IntelliJ IDEA เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเต

เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ, เดŽเดฒเตเดฒเดพ เด…เด‚เด—เต€เด•เตƒเดค เด…เดจเดฒเตˆเดธเดฑเตเด•เตพเด•เตเด•เตเด‚ เดˆ เด‡เตปเตเดฑเตผเดซเต‡เดธเต เดธเดพเตผเดตเดคเตเดฐเดฟเด•เดฎเดพเดฃเต. เดตเดฟเดญเดพเด—เดฎเดจเตเดธเดฐเดฟเดšเตเดšเต เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด•เดณเตเดŸเต† เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเตปเตเดฑเต† เด’เดฐเต เดธเด‚เดตเต‡เดฆเดจเดพเดคเตเดฎเด• เดกเดฏเด—เตเดฐเดตเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดšเดฒเดจเดพเดคเตเดฎเด•เดคเดฏเตเดŸเต† เด’เดฐเต เด—เตเดฐเดพเดซเตเด‚ เด‡เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเต‡เดœเดฟเตปเตเดฑเต† เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เด—เตเดฐเดฟเดกเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฆเตเดฐเตเดค เดคเดฟเดฐเดฏเตฝ เดจเดŸเดคเตเดคเดพเด‚. IDEA เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพเด•เตเด•เดพเดฏเดฟ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดคเตเดค เด’เดฐเต‡เดฏเตŠเดฐเต เด•เดพเดฐเตเดฏเด‚ เดœเต†เตปเด•เดฟเตปเดธเดฟเตฝ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด•เต‹เดกเต เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเดพเดฃเต (เดฎเดฑเตเดฑเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพเด•เตเด•เต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดšเต†เด•เตเด•เตเดธเตเดฑเตเดฑเตˆเตฝ, เดˆ เดชเตเดฒเด—เดฟเตป เด‡เดคเต เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚). เด‡เดคเต IDEA เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดชเดพเตผเดธเดฑเดฟเดฒเต† เด’เดฐเต เดฌเด—เต เด†เดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เด…เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เด’เดฐเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเดฟเตฝ เดตเดฟเดตเดฟเดง เดธเตเดฐเต‹เดคเดธเตเดธเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เดฃเตเดŸเต†เดคเตเดคเดฒเตเด•เตพ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต, เดฑเดซเดฑเตปเดธเต เด…เดธเด‚เดฌเตเดฒเดฟเด•เตเด•เดพเดฏเตเดณเตเดณ "เดฑเดพเดฑเตเดฑเตเดšเต†เดฑเตเดฑเต" เด‰เตพเดชเตเดชเต†เดŸเต†เดฏเตเดณเตเดณ เด•เตเดตเดพเดณเดฟเดฑเตเดฑเดฟ เด—เต‡เดฑเตเดฑเตโ€Œเดธเต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดŽเตปเดœเดฟเดฏเตเดŸเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเดฟเตฝ เด’เดจเตเดจเต. เดšเดฟเดฒ เด•เตเดตเดพเดณเดฟเดฑเตเดฑเดฟ เด—เต‡เดฑเตเดฑเตเดธเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดกเต‹เด•เตเดฏเตเดฎเต†เตปเตเดฑเต‡เดทเตป เดฒเดญเตเดฏเดฎเดพเดฃเต เด‡เดตเดฟเดŸเต† - เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดจเดฟเด™เตเด™เตพ เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดจเต‹เด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดฎเดฑเตเดตเดถเดคเตเดคเต, เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ, "เดฑเดพเดฑเตเดฑเตเดšเต†เดฑเตเดฑเต" เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ (เดŽเตปเตเดฑเต† เด•เดพเดฃเตเด• เดฎเตเตป เดชเต‹เดธเตเดฑเตเดฑเต เดˆ เดตเดฟเดทเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต).

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดžเดพเตป เดคเดฟเดฐเดฏเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต: เดนเดฌเตเดฐเต†เดฏเดฟเตฝ เดˆ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเดฟเดจเด•เด‚ เดŽเดดเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹? เดžเดพเตป เดฎเดพเดคเตเดฐเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ เด…เดญเดฟเดฎเตเด–เด‚ 2017 ั เดฒเดพเดจเดฟเด…เดตเตป เดŽเดตเดฟเดŸเต† เดชเดฑเดฏเตเดจเตเดจเต:

เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดœเต†เตปเด•เดฟเตปเดธเตเดฎเดพเดฏเต‹ เด’เดฐเต เดฎเดพเดตเตป เดชเตเดฒเด—เดฟเดจเตเดฎเดพเดฏเต‹ เด’เดฐเต เดธเด‚เดฏเต‹เดœเดจเดตเตเดฎเดฟเดฒเตเดฒ [โ€ฆ] เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดเดคเตŠเดฐเต เด‰เดคเตเดธเดพเดนเดฟเด•เตเด•เตเด‚ เดเดกเดฟเดฏ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดŽเดกเดฟเดทเดจเตเดฎเดพเดฏเตเด‚ เดœเต†เด™เตเด•เดฟเตปเดธเตเดฎเดพเดฏเตเด‚ เดšเด™เตเด™เดพเดคเตเดคเด‚ เด•เต‚เดŸเดพเด‚, เดชเดฒเตผเด•เตเด•เตเด‚ เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดฐเดฏเต‹เดœเดจเด‚ เดฒเดญเดฟเด•เตเด•เต‚.

เดถเดฐเดฟ, เดฐเดฃเตเดŸเต เดตเตผเดทเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต NG เดชเตเดฒเด—เดฟเตป เด‰เดฃเตเดŸเต, เด’เดŸเตเดตเดฟเตฝ เดˆ เดธเต—เดนเตƒเดฆเด‚ เดซเดฒเดตเดคเตเดคเดพเดฏเดฟ!

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster