Jenkins 'เจคเฉ‡ IntelliJ IDEA เจจเจฟเจฐเฉ€เจ–เจฃ เจšเจฒเจพ เจฐเจฟเจนเจพ เจนเฉˆ

IntelliJ IDEA เจ•เฉ‹เจฒ เจ…เฉฑเจœ เจธเจญ เจคเฉ‹เจ‚ เจ‰เฉฑเจจเจค เจธเจฅเจฟเจฐ เจœเจพเจตเจพ เจ•เฉ‹เจก เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจนเฉˆ, เจœเฉ‹ เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ‡ "เจตเฉฑเจกเจฟเจ†เจ‚" เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจชเจฟเฉฑเจ›เฉ‡ เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจšเฉˆเจ•เจธเจŸเจพเจ‡เจฒ ะธ เจธเจชเจพเจŸเจฌเฉฑเจ—เจธ. เจ‡เจธเจฆเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ "เจจเจฟเจฐเฉ€เจ–เจฃ" เจ•เฉ‹เจกเจฟเฉฐเจ— เจธเจผเฉˆเจฒเฉ€ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ เจ†เจฎ เจฌเฉฑเจ—เจพเจ‚ เจคเฉฑเจ•, เจตเฉฑเจ–-เจตเฉฑเจ– เจชเจนเจฟเจฒเฉ‚เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจธเจฟเจฐเจซ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฆเฉ‡ IDE เจฆเฉ‡ เจธเจฅเจพเจจเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ‰เจน เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฒเจˆ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจธเจฅเจฟเจฐ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจฌเจฟเจฒเจก เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจชเฉœเจพเจ… เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ—เฉเจฃเจตเฉฑเจคเจพ เจตเจพเจฒเฉ‡ เจ—เฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ—เฉเจฃเจตเฉฑเจคเจพ เจตเจพเจฒเฉ‡ เจ—เฉ‡เจŸ เจชเจพเจธ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจคเจพเจ‚ เจฌเจฟเจฒเจก เจซเฉ‡เจฒ เจนเฉ‹ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ TeamCity CI IDEA เจจเจพเจฒ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจนเฉˆเฅค เจชเจฐ เจญเจพเจตเฉ‡เจ‚ เจคเฉเจธเฉ€เจ‚ TeamCity เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเฉเจธเฉ€เจ‚ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ CI เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš IDEA เจจเจฟเจฐเฉ€เจ–เจฃ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉเจเจพเจ… เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน 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 - เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ 'เจœเฉ‡เจกเฉ€เจ•เฉ‡ เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ' เจ—เจฒเจคเฉ€ เจฎเจฟเจฒเฉ‡เจ—เฉ€,
    • *.iml-ั„ะฐะนะปั‹ - เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจธเฉฐเจฐเจšเจฟเจค JDK เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฎเจฟเจฒเฉ‡เจ—เฉ€เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจน เจซเจพเจˆเจฒเจพเจ‚ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ .gitignore, เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฆเฉ‡ เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจˆ เจ•เฉ‹เจˆ เจ–เจพเจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ - เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจซเจพเจˆเจฒ workspace.xml, เจœเจฟเฉฑเจฅเฉ‡ เจ…เจœเจฟเจนเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจธเจชเจธเจผเจŸ เจนเฉฑเจฒ เจนเฉˆ เจ•เจฟ JDK เจจเฉ‚เฉฐ IDEA เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจเจกเฉ€เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเจพเจฐเจฎ เจตเจฟเฉฑเจš เจชเฉˆเจ• เจ•เจฐเจจเจพ เจนเฉˆ เจœเฉ‹ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เฉ€เจคเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ 'เจคเฉ‡ "เจชเจฟเจŸ" เจนเฉ‹เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉˆเฅค เจ†เจ‰ เจ‡เฉฑเจ• เจขเฉเจ•เจตเจพเจ‚ เจ…เจงเจพเจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจšเฉเจฃเฉ€เจ, เจ…เจคเฉ‡ เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ€ เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

เจกเฉŒเจ•เจฐเจซเจพเจˆเจฒ

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 เจฆเฉ‡ เจฎเจพเจฐเจ— เจธเจผเจพเจฎเจฒ เจนเจจ (IDEA เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจพเจฒเฉ€ เจคเฉเจนเจพเจกเฉ€ เจ†เจชเจฃเฉ€ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ†เจงเจพเจฐ เจตเจœเฉ‹เจ‚ เจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ):

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>

เจฎเฉเจ•เฉฐเจฎเจฒ เจšเจฟเฉฑเจคเจฐ เจกเฉŒเจ•เจฐ เจนเฉฑเจฌ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเฉˆ.

เจ…เฉฑเจ—เฉ‡ เจตเจงเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจœเจพเจ‚เจš เจ•เจฐเฉ€เจ เจ•เจฟ IDEA เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ:

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

เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจšเฉฑเจฒเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ .xml เจซเจพเจˆเจฒเจพเจ‚ target/idea_inspections เจธเจฌเจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจนเฉเจฃ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจธเจผเฉฑเจ• เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ IDEA เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ CI เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เจฒเฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจฆเฉ‚เจœเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ…เฉฑเจ—เฉ‡ เจตเจงเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ•เจฆเจฎ 2. เจฐเจฟเจชเฉ‹เจฐเจŸ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹

.xml เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฐเจฟเจชเฉ‹เจฐเจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจ…เฉฑเจงเฉ€ เจฒเฉœเจพเจˆ เจนเฉˆ; เจนเฉเจฃ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจ—เฉเจฃเจตเฉฑเจคเจพ เจฆเฉ‡ เจฆเจฐเจตเจพเจœเจผเฉ‡ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ - เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจคเจฐเจ• เจ•เจฟ เจ•เฉ€ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเจพ เจชเจฐเจฟเจตเจฐเจคเจจ เจ—เฉเจฃเจตเฉฑเจคเจพ เจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจชเจพเจธ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจ…เจธเจซเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‡เจจเจ•เจฟเฉฐเจธ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจเจจเจœเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ, เจœเฉ‹ เจœเจจเจตเจฐเฉ€ 2019 เจตเจฟเฉฑเจš เจฐเจฟเจฒเฉ€เจœเจผ เจนเฉ‹เจˆ เจธเฉ€เฅค เจ‡เจธเจฆเฉ‡ เจ†เจ—เจฎเจจ เจฆเฉ‡ เจจเจพเจฒ, เจœเฉ‡เจจเจ•เจฟเฉฐเจธ (เจšเฉˆเฉฑเจ•เจธเจŸเจพเจˆเจฒ, เจซเจพเจˆเจ‚เจกเจฌเฉฑเจ—เจธ, เจชเฉ€.เจเจฎ.เจกเฉ€., เจ†เจฆเจฟ) เจตเจฟเฉฑเจš เจธเจฅเจฟเจฐ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉเจฃ เจชเฉเจฐเจพเจฃเฉ‡ เจตเจœเฉ‹เจ‚ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

เจชเจฒเฉฑเจ—เจ‡เจจ เจฆเฉ‡ เจฆเฉ‹ เจนเจฟเฉฑเจธเฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ:

  • เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ (เจชเฉ‚เจฐเฉ€ เจธเฉ‚เจšเฉ€ AcuCobol เจคเฉ‹เจ‚ ZPT Lint เจคเฉฑเจ• เจตเจฟเจ—เจฟเจ†เจจ เจฒเจˆ เจœเจพเจฃเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจธเจผเจพเจฎเจฒ เจนเจจ),
  • เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฐเจฟเจชเฉ‹เจฐเจŸ เจฆเจฐเจธเจผเจ•เฅค

เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ NG เจฆเฉเจ†เจฐเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš Java เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจคเฉ‹เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจฎเจพเจตเฉ‡เจจ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจธเจผเจพเจฎเจฒ เจนเจจ: เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‰เจน เจฒเจ—เจพเจคเจพเจฐ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค 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')]
    )
}

เจฐเจฟเจชเฉ‹เจฐเจŸ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจธเจฆเจพ เจนเฉˆ:

Jenkins 'เจคเฉ‡ IntelliJ IDEA เจจเจฟเจฐเฉ€เจ–เจฃ เจšเจฒเจพ เจฐเจฟเจนเจพ เจนเฉˆ

เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจธเจพเจฐเฉ‡ เจฎเจพเจจเจคเจพ เจชเฉเจฐเจพเจชเจค เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•เจพเจ‚ เจฒเจˆ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฒ เจนเฉˆเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฆเฉเจ†เจฐเจพ เจ–เฉ‹เจœเจพเจ‚ เจฆเฉ€ เจตเฉฐเจก เจฆเจพ เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจกเจพเจ‡เจ—เจฐเจพเจฎ เจ…เจคเฉ‡ เจ–เฉ‹เจœเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒเจคเจพ เจฆเจพ เจ‡เฉฑเจ• เจ—เฉเจฐเจพเจซ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจชเฉฐเจจเฉ‡ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ—เจฐเจฟเฉฑเจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจคเฉ‡เจœเจผ เจ–เฉ‹เจœ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจ•เฉ‹ เจšเฉ€เจœเจผ เจœเฉ‹ IDEA เจจเจฟเจฐเฉ€เจ–เจฃเจพเจ‚ เจฒเจˆ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€ เจธเฉ€, เจ‰เจน เจธเฉ€ เจœเฉ‡เจจเจ•เจฟเจจเจœเจผ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเจพ เจฌเฉเจฐเจพเจŠเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจฒเจˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจšเฉˆเจ•เจธเจŸเจพเจ‡เจฒ, เจ‡เจน เจชเจฒเฉฑเจ—เจ‡เจจ เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉเฉฐเจฆเจฐเจคเจพ เจจเจพเจฒ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ). เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน IDEA เจฐเจฟเจชเฉ‹เจฐเจŸ เจชเจพเจฐเจธเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉฑเจ— เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ NG เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเจฟเจชเฉ‹เจฐเจŸ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เฉเจ†เจฒเจฟเจŸเฉ€ เจ—เฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจ–เฉ‹เจœเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเฉฐเจฆเจฐเจญ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฒเจˆ "เจฐเฉˆเจšเฉˆเจŸ" เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจ•เฉเจ†เจฒเจฟเจŸเฉ€ เจ—เฉ‡เจŸเจธ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‰เจชเจฒเจฌเจง เจนเจจ เจ‡เฉฑเจฅเฉ‡ - เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃเจพ เจชเจเจ—เจพ. เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจœเฉ‹ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ เจ‰เจธ 'เจคเฉ‡ เจชเฉ‚เจฐเจจ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฒเจˆ, "เจฐเฉˆเจšเฉˆเจŸ" เจจเฉ‚เฉฐ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจฎเฉ‡เจฐเจพ เจฆเฉ‡เจ–เฉ‹ เจชเจฟเจ›เจฒเฉ€ เจชเฉ‹เจธเจŸ เจ‡เจธ เจฅเฉ€เจฎ เจฌเจพเจฐเฉ‡).

เจธเจฟเฉฑเจŸเจพ

เจ‡เจธ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉˆเจ‚ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ: เจ•เฉ€ เจ•เจฟเจธเฉ‡ เจจเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉˆเจฌเจฐเฉ‡ 'เจคเฉ‡ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฒเจฟเจ–เจฟเจ† เจนเฉˆ? เจฎเฉˆเจ‚ เจนเฉ€ เจชเจพเจ‡เจ† เจ‡เฉฐเจŸเจฐเจตเจฟเจŠ 2017 ั lanyเจœเจฟเฉฑเจฅเฉ‡ เจ‰เจน เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจฎเฉˆเจ‚ เจœเจพเจฃเจฆเจพ เจนเจพเจ‚, เจœเฉ‡เจจเจ•เจฟเฉฐเจธ เจœเจพเจ‚ เจฎเฉˆเจตเฉ‡เจจ เจชเจฒเฉฑเจ—เจ‡เจจ เจจเจพเจฒ เจ•เฉ‹เจˆ เจเจ•เฉ€เจ•เจฐเจฃ เจจเจนเฉ€เจ‚ เจนเฉˆ [โ€ฆ] เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ•เฉ‹เจˆ เจตเฉ€ เจ‰เจคเจธเจผเจพเจนเฉ€ IDEA เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจเจกเฉ€เจธเจผเจจ เจ…เจคเฉ‡ เจœเฉ‡เจจเจ•เจฟเฉฐเจธ เจจเจพเจฒ เจฆเฉ‹เจธเจคเฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจฒเจพเจญ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจ—เฉ‡เฅค

เจ–เฉˆเจฐ, เจฆเฉ‹ เจธเจพเจฒเจพเจ‚ เจฌเจพเจ…เจฆ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจเจจเจœเฉ€ เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉˆ, เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เจน เจฆเฉ‹เจธเจคเฉ€ เจธเจฟเฉฑเจง เจนเฉ‹ เจ—เจˆ เจนเฉˆ!

เจธเจฐเฉ‹เจค: www.habr.com

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster