เดเดพเดตเดฏเดฟเดฒเต เดจเดฟเตผเดฎเตเดฎเดพเดฃ เดชเดฆเตเดงเดคเดฟเดเตพเดเตเดเดพเดฏเดฟ เดเดจเดฟเดเตเดเต เดชเดฒเดชเตเดชเตเดดเตเด เดชเตเดชเตเดชเต เดฒเตเตป เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดฟ เดตเดฐเตเด. เดเดฟเดฒเดชเตเดชเตเตพ เดเดคเต เดเดชเตเดชเตบ เดธเตเดดเตโเดธเต เดเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดฟเดฒเดชเตเดชเตเตพ เด
เดเตเดเดจเตเดฏเดฒเตเดฒ. Travis-CI, TeamCity เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดจเตเดฑเต เดเดฟเดฒ เดถเตเดเดฐเดฃเดเตเดเตพ เดฎเดพเดฑเตเดฑเดพเตป เดเดพเตป เด
เดเตเดคเตเดคเดฟเดเต เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต, เดเดคเดพเดฃเต เด
เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฑเดคเตเดคเตเดตเดจเตเดจเดคเต.
เดเดเตเดเตพ เดเดจเตเดคเต เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด?
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเดตเดถเตเดฏเดฎเดพเดฃเต, เดจเดฎเตเดเตเดเต เดธเตเดชเตเดฐเดฟเดเดเต เดฌเตเดเตเดเต / เดเดพเดต 11 / เดฎเดพเดตเตเดจเดฟเตฝ เดเดฐเต เดเตเดฑเดฟเดฏ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเดฃเตเดเดพเดเตเดเดพเด. เด เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดเดฆเตเดฆเตเดถเตเดฏเดเตเดเตพเดเตเดเดพเดฏเดฟ, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดฒเตเดเดฟเดเตเดเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒ; เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดเตเดฑเตเดฑเดฟเดชเตเดชเดฑเตเดฑเดฟเดฏเตเดณเตเดณ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเตผ เดเดเตเดเตพเดเตเดเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดเดเตเดเตพเดเตเดเต เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ REST API เดเตบเดเตเดฐเตเดณเตผ เดฎเดคเดฟเดฏเดพเดเตเด.
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฑเดตเดฟเดเดเตเดเตพ เดเดตเดฟเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด:
เดเดฟเดฑเดฏเตเด เดเดธเตเดคเตเดฐเดฃเดตเตเด
เดเดเตเดเตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดฐเต เดเดทเตเดฏเต เดเตเดฐเดพเดเตเดเดฑเดพเดฏเดฟ JIRA เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดชเดฑเดฏเตเดฃเตเดเดคเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดจเดฎเตเดเตเดเต เด เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดฌเตเตผเดกเต เดธเตเดทเตโเดเดฟเดเตเดเต เดเดฆเตเดฏเดคเตเดคเต เดชเตเดฐเดถเตโเดจเดเตเดเตพ เด เดตเดฟเดเต เดเตเตผเดเตเดเดพเด:
เดเตเดฑเดเตเดเต เดเดดเดฟเดเตเดเต JIRA-เดฏเตเด GitHub-เดเด เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเต เดจเตฝเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเตเดเตพ เดฎเดเดเตเดเตเด.
เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เด เดธเดเดฌเตเดฒเดฟ เดเดเตเดเตพ เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต
เดเดเตเดเดณเตเดเต เดเตเดธเตเดฑเตเดฑเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดฎเดพเดตเตป เดตเดดเดฟเดฏเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดเดคเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเต เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต, เดเดเตเดเตพเดเตเดเต เดตเตเดฃเตเดเดคเต mvn เดเตเดฒเตเตป เดชเดพเดเตเดเตเดเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต.
Github เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเดณเตเดเต เดตเตผเดเตเดเตเดซเตเดฒเต เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดซเดฏเตฝ เดเดเตเดเตพ เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต, เดเดคเต เดเดฐเต เดธเดพเดงเดพเดฐเดฃ yml เดซเดฏเตฝ เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดฏเตเดฏเดพเด, เดเดจเดฟเดเตเดเต โyml เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเตโ เดเดทเตเดเดฎเดพเดฃเตเดจเตเดจเต เดชเดฑเดฏเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ, เดชเดเตเดทเต เดจเดฎเตเดเตเดเต เดเดจเตเดคเตเดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด - เดเดเตเดเตพ เด เดคเต .github/ directory workflow/ file build.yml-เตฝ เดเตเดฏเตเดฏเตเดจเตเดจเต, เด เดคเดฟเตฝ เดฎเดพเดธเตเดฑเตเดฑเตผ เดฌเตเดฐเดพเดเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฎเตเดชเตเดดเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดเตเดเตพ เดตเดฟเดตเดฐเดฟเดเตเดเตเด:
name: Build
on:
pull_request:
branches:
- '*'
push:
branches:
- 'master'
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Maven Package
run: mvn -B clean package -DskipTests
on โ เดเดคเต เดเดเตเดเดณเตเดเต เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดเดตเดจเตเดฑเดฟเดจเตเดฑเต เดตเดฟเดตเดฐเดฃเดฎเดพเดฃเต.
เดเตบ: pull_request/ push โ เดฎเดพเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดชเตเดทเต เดจเดเดคเตเดคเตเดฎเตเดชเตเดดเตเด เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเดดเตเด เด เดตเตผเดเตเดเตเดซเตเดฒเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเตเดจเตเดจเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
เดเดพเดธเตเดเตเดเตเดเดณเตเดเต เดเดฐเต เดตเดฟเดตเดฐเดฃเด เดคเดพเดดเต เดเตเดเตเดเตเดเตเดจเตเดจเต (เดเตเดพเดฒเดฟเดเตพ) เดเตเดเดพเดคเต เดจเดฟเตผเดตเตเดตเดนเดฃ เดเดเตเดเดเตเดเดณเตเด (เดเดเตเดเดเตเดเตพ) เดเดฐเต เดเตเดฒเดฟเดเตเดเตเด.
เดฑเตบ-เดเตบ - เดเดตเดฟเดเต เดจเดฎเตเดเตเดเต เดเดพเตผเดเตเดฑเตเดฑเต เดเดเดธเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเด, เด เดคเดฟเดถเดฏเดเดฐเดฎเตเดจเตเดจเต เดชเดฑเดฏเดเตเดเต, เดจเดฟเดเตเดเตพเดเตเดเต Mac OS เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเด, เดเดจเตเดจเดพเตฝ เดธเตเดตเดเดพเดฐเตเดฏ เดถเตเดเดฐเดฃเดเตเดเดณเดฟเตฝ เดเดคเต เดตเดณเดฐเต เดเตเดฒเดตเตเดฑเดฟเดฏเดคเดพเดฃเต (เดฒเดฟเดจเดเตเดธเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเตเดเตเดคเตเดคเตเดฎเตเดชเตเตพ).
เดเดชเดฏเตเดพเดเดเตเดเตพ เดฎเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดตเตเดฃเตเดเตเด เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ/เดธเตเดฑเตเดฑเดชเตเดชเต-เดเดพเดต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เดเดพเดต 11-เดจเตเดณเตเดณ เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดธเดนเดพเดฏเดคเตเดคเตเดเต เดเตเดเต เดเดเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเด, เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด เดเดตเดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตเดฎเดพเดฑเตเดจเตเดจ เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเตเดเตพ.
เดฎเดพเดตเตเดจเดฟเตฝ เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดฌเดฟเตฝเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด
เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต: run: mvn -B clean package
เดชเดคเดพเด -B เดเดเตเดเตพเดเตเดเต เดเดฐเต เดจเตเตบ-เดเดจเตเดฑเดฑเดพเดเตเดเตเดตเต เดฎเตเดกเต เดเดตเดถเตเดฏเดฎเดพเดฃเตเดจเตเดจเต เดชเดฑเดฏเตเดจเตเดจเต, เด
เดคเดฟเดจเดพเตฝ เดฎเดพเดตเตป เดชเตเดเตเดเตเดจเตเดจเต เดเดเตเดเดณเตเดเต เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฆเดฟเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ
เดเตเดณเตเดณเดพเด! เดเดชเตเดชเตเตพ, เดจเดฟเดเตเดเตพ เดฎเดพเดธเตเดฑเตเดฑเดฑเตเดเต เดชเตเดฐเดคเดฟเดเตเดเดพเดฌเดฆเตเดงเดฎเดพเดเตเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด, เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดฌเดฟเตฝเดกเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต.
เดเตเดธเตเดฑเตเดฑเต เดฒเตเดเตเดเตเดเตพ เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต
เด เดธเดเดฌเตเดฒเดฟ เดจเดฒเตเดฒเดคเดพเดฃเต, เดเดจเตเดจเดพเตฝ เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดธเตเดฐเดเตเดทเดฟเดคเดฎเดพเดฏเดฟ เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเด, เดชเดเตเดทเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ. เด เดคเดฟเดจเดพเตฝ, เด เดเตเดคเตเดค เดเดเตเดเด เดเตเดธเตเดฑเตเดฑเต เดฑเดฃเตเดฃเตเดเตพ เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดคเดพเดฃเต. เดเตเดเดพเดคเต, เดจเดฟเดเตเดเตพ เดเดฐเต PR เด เดตเดฒเตเดเดจเด เดจเดเดคเตเดคเตเดฎเตเดชเตเตพ เดเตเดธเตเดฑเตเดฑเตเดเตพ เดตเดฟเดเดฏเดฟเดเตเดเดคเดฟเดจเตเดฑเต เดซเดฒเดเตเดเตพ เดจเตเดเตเดเตเดจเตเดจเดคเต เดตเดณเดฐเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต - เดเตเดธเตเดฑเตเดฑเตเดเตพ เดตเดฟเดเดฏเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฑเดชเตเดชเดพเดฏเตเด เด เดฑเดฟเดฏเดพเด, เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเดฐเตเด เด เดตเดฐเตเดเต เดฌเตเดฐเดพเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดฎเดฑเดจเตเดจเดฟเดฒเตเดฒ.
เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดเตเดเตพ เดเตเดธเตเดฑเตเดฑเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดฎเดพเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด, เด เดคเต เดธเดฎเดฏเด เดเดเตเดเตพ เดเตเดกเต-เดเดตเดฑเตเดเดฟเตฝ เดเดฐเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเตเตผเดเตเดเตเด.
name: Build
on:
pull_request:
branches:
- '*'
push:
branches:
- 'master'
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Maven Verify
run: mvn -B clean verify
- name: Test Coverage
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
เดเตเดธเตเดฑเตเดฑเตเดเตพ เดเดตเตผ เดเตเดฏเตเดฏเดพเตป, เดเดพเดเตเดเตเดเต เดชเตเดฒเดเดฟเดจเตเดฎเดพเดฏเดฟ เดเตเตผเดจเตเดจเต เดเดพเตป codecov เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. codecov-เดจเต เด เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเตเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดเดเตเดเดณเตเดเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดคเดฟเดจเต เดเดฐเต เดเตเดเตเดเตบ เดเดตเดถเตเดฏเดฎเดพเดฃเต:
${{ secrets.CODECOV_TOKEN }}
โ เดเดเตเดเตพ เด เดจเดฟเตผเดฎเตเดฎเดพเดฃเด เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดคเดตเดฃ เดเดพเดฃเตเด, เดฐเดนเดธเตเดฏเดเตเดเตพ GitHub-เตฝ เดฐเดนเดธเตเดฏเดเตเดเตพ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดธเดเดตเดฟเดงเดพเดจเดฎเดพเดฃเต, เดจเดฎเตเดเตเดเต เด
เดตเดฟเดเต เดชเดพเดธเตโเดตเตเดกเตเดเตพ / เดเตเดเตเดเดฃเตเดเตพ / เดนเตเดธเตเดฑเตเดฑเตเดเตพ / url เดเดณเตเด เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟ เดเตเดกเต เดฌเตเดธเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดชเดพเดเดฟเดฒเตเดฒเดพเดคเตเดค เดฎเดฑเตเดฑเต เดกเดพเดฑเตเดฑเดฏเตเด เดเดดเตเดคเดพเด.
GitHub-เดฒเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟ เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเดณเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดฐเดนเดธเตเดฏเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
เดเดจเตเดจ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเตฝ เดเตเดเตเดเตบ เดฒเดญเดฟเดเตเดเตเด
POM เดซเดฏเดฒเดฟเดฒเตเดเตเดเต jacoco เดชเตเดฒเดเดฟเตป เดเตเตผเดเตเดเตเด:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<!-- attached to Maven test phase -->
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<reportFormat>plain</reportFormat>
<includes>
<include>**/*Test*.java</include>
<include>**/*IT*.java</include>
</includes>
</configuration>
</plugin>
เดเดชเตเดชเตเตพ เดเตเดกเตโเดเตเดตเต เดฌเตเดเตเดเต เดเดเตเดเดณเตเดเต เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเด เดจเตฝเดเตเดเดฏเตเด เดเดฐเต เดเดตเดฑเตเดเต เดฎเดพเดฑเตเดฑ เดเตเดฐเดพเดซเต เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด:
เดจเดฎเตเดเตเดเต เดเดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเดเต เด เดจเดฒเตเดธเตผ เดเตเตผเดเตเดเดพเด
เดเดจเตเดฑเต เดเดเตเดเตเดฎเดฟเดเตเด เดเดชเตเดชเตบ เดธเตเดดเตโเดธเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเดฟเดฒเตเด เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเดเต เดเตเดกเต เดตเดฟเดถเดเดฒเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เดธเตเดฃเดพเตผ เดเตเดฒเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เดเตเดฐเดพเดตเดฟเดธเต-เดธเดฟเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต. เด เดคเดฟเดจเดพเตฝ GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดฎเตเดเตเดฐเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดเดคเต เดเดฐเต เดฏเตเดเตเดคเดฟเดธเดนเดฎเดพเดฏ เดเดเตเดเดฎเดพเดฃเต. เดเดเตเดทเตป เดฎเดพเตผเดเตเดเดฑเตเดฑเต เดเดฐเต เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเดฎเดพเดฃเต, เดเดจเตเดจเดพเตฝ เดเดคเตเดคเดตเดฃ เด เดคเต เดเดจเตเดจเต เด เตฝเดชเตเดชเด เดจเดฟเดฐเดพเดถเดชเตเดชเตเดเตเดคเตเดคเดฟ, เดเดพเดฐเดฃเด เดถเตเดฒเด เดเดพเดฐเดฃเด เดเดจเดฟเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดพเตป เดเดฃเตเดเตเดคเตเดคเดฟ เดตเตผเดเตเดเตเดซเตเดฒเตเดฏเดฟเดฒเตเดเตเดเต เดเตเตผเดคเตเดคเต. เดเดจเตเดจเดพเตฝ เดฎเดพเดตเตเตป เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเดฐเตเดกเดฟเตฝ เดชเตเดฐเตเดเดเตเดเตเดเตพ เดตเดฟเดถเดเดฒเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเตเดเต เดธเตเดฃเดพเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเดคเต เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเดจเดฟเตฝ เดเดดเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต, เดชเดเตเดทเต เดเดฐเดพเดฃเต เดเดคเต เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเดคเต?!
เดเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเตเดเต เดเดคเต เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ, เด เดคเดฟเดจเดพเตฝ เดเดเตเดเตพ เดเดคเต mvn เดชเตเดฒเดเดฟเตป เดตเดดเดฟ เดเตเดฏเตเดฏเตเด:
name: SonarCloud
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened]
jobs:
sonarcloud:
runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v1
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Analyze with SonarCloud
# set environment variables:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# run sonar maven plugin:
run: mvn -B verify sonar:sonar -Dsonar.projectKey=antkorwin_github-actions -Dsonar.organization=antkorwin-github -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=$SONAR_TOKEN -Dsonar.coverage.jacoco.xmlReportPaths=./target/site/jacoco/jacoco.xml
SONAR_TOKEN - เดเดจเตเดจ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเตฝ เดฒเดญเดฟเดเตเดเตเด
Dsonar.projectKey - เดธเตเดฃเดพเดฑเดฟเดฒเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเต, เดจเดฟเดเตเดเตพเดเตเดเต เด เดคเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเดณเดฟเตฝ เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด.
Dsonar.organization - GitHub-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเตเดฅเดพเดชเดจเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเต.
เดเดเตเดเตพ เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดเดคเตเดคเตเดเดฏเตเด เด เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเดฟเตฝ เดธเตเดฃเดพเตผเดเตเดฒเตเดกเต[เดฌเตเดเตเดเต] เดตเดฐเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต:
เดฑเดฟเดฒเตเดธเต เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเต
เดฌเดฟเตฝเดกเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตโเดคเต, เดเตเดธเตเดฑเตเดฑเตเดเตพ เดฑเตบ เดเตเดฏเตโเดคเต, เดเดเตเดเตพเดเตเดเต เดเดฐเต เดฑเดฟเดฒเตเดธเต เดเตเดฏเตเดฏเดพเด. GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดเตเดเดจเต เดฑเดฟเดฒเตเดธเต เดฎเดพเดจเตเดเตโเดฎเตเดจเตเดฑเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดเตเดเตเดฎเตเดจเตเดจเต เดจเตเดเตเดเดพเด.
เดเตเดฒเดฟเดธเตเดฅเดฒเดคเตเดคเต, เดฌเดฟเดฑเตเดฑเตเดฌเดเตเดเดฑเตเดฑเดฟเตฝ เดเตเดกเต เดฌเตเดธเต เดเดณเตเดณ เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเตพ เดเดจเดฟเดเตเดเตเดฃเตเดเต (เดเดฒเตเดฒเดพเด เด เดธเตเดฑเตเดฑเตเดฑเดฟเดฏเดฟเดฒเต เดชเตเดฒเตเดฏเดพเดฃเต "เดเดพเตป เดชเดเตฝ เดธเดฎเดฏเดคเตเดคเต เดฌเดฟเดฑเตเดฑเตเดฌเดเตเดเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต, เดฐเดพเดคเตเดฐเดฟเดฏเดฟเตฝ GitHub เดฒเตเดเตเดเต เดเดฎเตเดฎเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด"). เดจเดฟเตผเดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดฌเดฟเดฑเตเดฑเตเดฌเดเตเดเดฑเตเดฑเดฟเดจเต เดฌเดฟเตฝเดฑเตเดฑเต-เดเตป เดฑเดฟเดฒเตเดธเต เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเต เดเตเดณเตเดเตพ เดเดฒเตเดฒ. เดเดคเตเดฐเต เดชเตเดฐเดถเตโเดจเดฎเดพเดฃเต, เดเดพเดฐเดฃเด เดเดฐเต เดฑเดฟเดฒเตเดธเดฟเดจเตเด เดจเดฟเดเตเดเตพ เดธเตเดตเดฎเตเดงเดฏเดพ เดเดฐเต เดชเตเดเต เดธเดเดเดฎเดธเตเดฅเดพเดจเดคเตเดคเต เดธเตเดทเตโเดเดฟเดเตเดเตเดเดฏเตเด เดฑเดฟเดฒเตเดธเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดธเดตเดฟเดถเตเดทเดคเดเดณเตเด เด เดตเดฟเดเต เดเดฑเดฟเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด, เดฎเดจเดธเตเดธเดฟเดจเตเดฑเต เดเตเดเตเดเดพเดฐเดเตเดเดณเดฟเดฒเตเดเต เดคเดฟเดฐเดฏเตเด, เดเดฟเดฑเดฏเดฟเดฒเต เดเตเดฒเดฟเดเตพ, เดถเตเดเดฐเดคเตเดคเดฟเตฝ เดเดฎเตเดฎเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด. เดเดฐเต เดคเตเดฑเตเดฑเต เดตเดฐเตเดคเตเดคเดพเตป เดจเดฟเดฐเดตเดงเดฟ เด เดตเดธเดฐเดเตเดเดณเตเดฃเตเดเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดฎเดฑเดเตเดเดพเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดดเดฟเดเตเด เดคเดตเดฃ เดฑเดฟเดฒเตเดธเต เดเตเดฏเตโเดค เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดจเตฝเดเดพเด, เดเดฟเดฒเดชเตเดชเตเตพ เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต เดเดจเตเดคเดพเดฏเดฟ เดคเดฐเดเดคเดฟเดฐเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต เดตเตเดฏเดเตเดคเดฎเดฒเตเดฒ - เดเดคเต เดเดฐเต เดธเดตเดฟเดถเตเดทเดคเดฏเต เดฌเดเต เดชเดฐเดฟเดนเดพเดฐเดฎเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดกเดฟเดฑเตเดฑเดฟเดเดเต เดเตเดธเตเดฑเตเดฑเตเดเดณเต, เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เด เดเดฟเดธเตเดฅเดพเดจ เดธเตเดเดฐเตเดฏเดเตเดเตพ .
GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดเตเดเดณเต เดเดเตเดเดจเต เดธเดนเดพเดฏเดฟเดเตเดเตเด? เดเดฐเต เดฎเดฟเดเดเตเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเตเดฃเตเดเต - เดฑเดฟเดฒเตเดธเต เดกเตเดฐเดพเดซเตเดฑเตเดฑเตผ, เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเดเต เดตเดฟเดญเดพเดเดเตเดเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดฑเดฟเดฒเตเดธเต เดจเตเดเตเดเตเดธเต เดซเดฏเดฒเดฟเตฝ เด เดตเดฏเต เดธเตเดตเดฏเดฎเตเดต เดเตเดฐเตเดชเตเดชเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดเดฐเต เดฑเดฟเดฒเตเดธเต เดจเตเดเตเดเตเดธเต เดซเดฏเตฝ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดธเดเตเดเดฎเดพเดเตเดเดพเตป เดเดคเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต:
เดเดฐเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฆเดพเดนเดฐเดฃ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต (.github/release-drafter.yml):
name-template: 'v$NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'
categories:
- title: ' New Features'
labels:
- 'type:features'
# ะฒ ััั ะบะฐัะตะณะพัะธั ัะพะฑะธัะฐะตะผ ะฒัะต PR ั ะผะตัะบะพะน type:features
- title: ' Bugs Fixes'
labels:
- 'type:fix'
# ะฐะฝะฐะปะพะณะธัะฝะพ ะดะปั ะผะตัะบะธ type:fix ะธ ั.ะด.
- title: ' Documentation'
labels:
- 'type:documentation'
- title: ' Configuration'
labels:
- 'type:config'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
## Changes
$CHANGES
เดเดฐเต เดกเตเดฐเดพเดซเตเดฑเตเดฑเต เดฑเดฟเดฒเตเดธเต เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเตผเดเตเดเตเด (.github/workflows/release-draft.yml):
name: "Create draft release"
on:
push:
branches:
- master
jobs:
update_draft_release:
runs-on: ubuntu-18.04
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
เดเดจเดฟ เดฎเตเดคเตฝ เดเดฒเตเดฒเดพ เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเด เดฑเดฟเดฒเตเดธเต เดจเตเดเตเดเตเดเดณเดฟเตฝ เดธเตเดตเดฏเดฎเตเดต เดถเตเดเดฐเดฟเดเตเดเดชเตเดชเตเดเตเด - เดฎเดพเดเดฟเดเต!
เดเดตเดฟเดเต เดเตเดฆเตเดฏเด เดเดฏเตผเดจเตเดจเตเดเตเดเดพเด: เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผ PR-เตฝ เดเดพเดเตเดเตพ เดเดเดพเตป เดฎเดฑเดจเตเดจเดพเดฒเต? เด เดชเตเดชเตเตพ เดเดคเต เดตเดฟเดญเดพเดเดคเตเดคเดฟเดฒเดพเดฃเต เดเดคเต เดเตพเดชเตเดชเตเดเตเดคเตเดคเตเดฃเตเดเดคเตเดจเตเดจเต เดตเตเดฏเดเตเดคเดฎเดฒเตเดฒ, เดตเตเดฃเตเดเตเด เดเดฐเต เดชเดฟเดเดฑเดฟเดฒเตเด เดตเตเดตเตเดตเตเดฑเต เดจเดฟเดเตเดเตพ เดเดคเต เดธเตเดตเดฎเตเดงเดฏเดพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดฃเตเดเดฟเดตเดฐเตเด. เด เดชเตเดฐเดถเตเดจเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป, เดเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเตเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดชเดฏเตเดเดฟเดเตเดเดพเด - เดฒเตเดฌเตฝ เดตเตเดฐเดฟเดซเดฏเตผ - เดเดคเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเต เดเดพเดเตเดเดณเตเดเต เดธเดพเดจเตเดจเดฟเดงเตเดฏเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต. เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดพเดเตเดเตพ เดเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดชเดฐเดฟเดถเตเดงเดจ เดชเดฐเดพเดเดฏเดชเตเดชเตเดเตเด, เดเดเตเดเดณเตเดเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เดเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดธเดจเตเดฆเตเดถเด เดเดเตเดเตพ เดเดพเดฃเตเด.
name: "Verify type labels"
on:
pull_request:
types: [opened, labeled, unlabeled, synchronize]
jobs:
triage:
runs-on: ubuntu-18.04
steps:
- uses: zwaldowski/match-label-action@v2
with:
allowed: 'type:fix, type:features, type:documentation, type:tests, type:config'
เดเดชเตเดชเตเตพ เดเดคเตเดเตเดเดฟเดฒเตเด เดชเตเตพ-เด เดญเตเดฏเตผเดคเตเดฅเดจ เดเดพเดเตเดเดณเดฟเตฝ เดเดจเตเดจเต เดเดชเดฏเตเดเดฟเดเตเดเต เด เดเดฏเดพเดณเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเดฃเด: เดเตเดชเตเดชเต: เดซเดฟเดเตเดธเต, เดคเดฐเด: เดซเตเดเตเดเดฑเตเดเตพ, เดคเดฐเด: เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเตป, เดคเดฐเด: เดเตเดธเตเดฑเตเดฑเตเดเตพ, เดคเดฐเด: เดเตเตบเดซเดฟเดเตผ.
เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเดเต เดธเตเดตเดฏเดฎเตเดตเดฏเตเดณเตเดณ เดตเตเดฏเดพเดเตเดฏเดพเดจเด
เดชเตเตพ เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเตเดณเตเดณ เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏ เดตเตผเดเตเดเต เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ เดเดเตเดเตพ เด
เดคเตเดคเดฐเดฎเตเดฐเต เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดธเตเดชเตผเดถเดฟเดเตเดเดคเดฟเดจเดพเตฝ, เดฒเตเดฌเดฒเตผ เดชเตเดฒเตเดณเตเดณ เดเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดฎเตเดฒเตเดฏเดตเดคเตเดคเดพเดฃเต, เดเดคเต เดซเดฏเดฒเตเดเตพ เดฎเดพเดฑเตเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเต เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดเดคเต เดชเดฟเดเตผ เดเดพเดเตเดเตพ เดเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดฎเดพเดฑเตเดฑเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจ เดเดคเตเดฐเต เดชเตเตพ เด
เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด เดจเดฎเตเดเตเดเต [เดฌเดฟเตฝเดกเต] เดเดฏเดฟ เด
เดเดฏเดพเดณเดชเตเดชเตเดเตเดคเตเดคเดพเด .github/workflow
.
เดเดคเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต:
name: "Auto-assign themes to PR"
on:
- pull_request
jobs:
triage:
runs-on: ubuntu-18.04
steps:
- uses: actions/labeler@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดกเดฏเดฑเดเตเดเดฑเดฟเดเดณเตเด เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดฟเดทเดฏเดเตเดเดณเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดเดคเตเดคเดฟเดเดชเดพเดเตเดเตพ เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดซเดฏเดฒเตเด เดเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฃเต:
theme:build:
- ".github/**"
- "pom.xml"
- ".travis.yml"
- ".gitignore"
- "Dockerfile"
theme:code:
- "src/main/*"
theme:tests:
- "src/test/*"
theme:documentation:
- "docs/**"
theme:TRASH:
- ".idea/**"
- "target/**"
เดเดตเดถเตเดฏเดฎเดพเดฏ เดฒเตเดฌเดฒเตเดเดณเตเดเต เดธเดพเดจเตเดจเดฟเดงเตเดฏเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเดฎเดพเดฏเดฟ เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเดฟเตฝ เดฒเตเดฌเดฒเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเตเดเดฟเดฏเดพเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดเดพเตป เดตเดฟเดเดฏเดฟเดเตเดเดฟเดฒเตเดฒ; เดฌเตเดเตเดเต เดเตเตผเดคเตเดค เดฒเตเดฌเดฒเตเดเตพ เดเดพเดฃเดพเตป เดฎเดพเดเตเดเต-เดฒเตเดฌเตฝ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดฐเดฃเตเดเต เดเดเตเดเดเตเดเดณเตเด เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจเตเดคเด เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดดเตเดคเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดฃเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เด เดซเตเดฎเดฟเตฝ เดชเตเดฒเตเด เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดตเดณเดฐเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต; เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพ เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฒเตเดฌเตฝ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต
GitHub เดเดเตโเดทเดจเตเดเตพ เดตเดดเดฟ (ssh เดตเดดเดฟ, scp เดตเดดเดฟเดฏเตเด เดกเตเดเตเดเตผ-เดนเดฌเต เดเดชเดฏเตเดเดฟเดเตเดเตเด) เดเดพเตป เดจเดฟเดฐเดตเดงเดฟ เดตเดฟเดจเตเดฏเดพเดธ เดเดชเตเดทเดจเตเดเตพ เดชเดฐเตเดเตเดทเดฟเดเตเดเต, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดชเตเดชเตโเดฒเตเตป เดเดคเตเดฐ เดตเดณเดเตเดเดคเดพเดฃเตเดเตเดเดฟเดฒเตเด, เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดฌเตเดจเดฑเดฟ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดตเดดเดฟ เดจเดฟเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเดฎเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดชเดฑเดฏเดพเตป เดเดดเดฟเดฏเตเด. เดเดฃเต.
เดฎเตเดดเตเดตเตป เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเดฑเตเด เดเดฐเดฟเดเดคเตเดคเต เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดชเตเดทเตป เดเดจเดฟเดเตเดเต เดเดทเตเดเดชเตเดชเตเดเตเดเต, เด เดคเดฟเดจเดพเตฝ GitHub เดชเดพเดเตเดเตเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเตเดเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดจเตเดเตเดเดพเด (เดเดคเต เดฌเตเดจเดฑเดฟ เดเดณเตเดณเดเดเตเดเด, npm, เดเดพเตผ, เดกเตเดเตเดเตผ เดเดจเตเดจเดฟเดตเดฏเตเดเตเดเตเดณเตเดณ เดเดฐเต เดถเตเดเดฐเดฎเดพเดฃเต).
เดเดฐเต เดกเตเดเตเดเตผ เดเดฎเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เด เดคเต GitHub เดชเดพเดเตเดเตเดเตเดเดณเดฟเตฝ เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเต:
name: Deploy docker image
on:
push:
branches:
- 'master'
jobs:
build_docker_image:
runs-on: ubuntu-18.04
steps:
# Build JAR:
- uses: actions/checkout@v1
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Maven Package
run: mvn -B clean compile package -DskipTests
# Set global environment variables:
- name: set global env
id: global_env
run: |
echo "::set-output name=IMAGE_NAME::${GITHUB_REPOSITORY#*/}"
echo "::set-output name=DOCKERHUB_IMAGE_NAME::docker.pkg.github.com/${GITHUB_REPOSITORY}/${GITHUB_REPOSITORY#*/}"
# Build Docker image:
- name: Build and tag image
run: |
docker build -t "${{ steps.global_env.outputs.DOCKERHUB_IMAGE_NAME }}:latest" -t "${{ steps.global_env.outputs.DOCKERHUB_IMAGE_NAME }}:${GITHUB_SHA::8}" .
- name: Docker login
run: docker login docker.pkg.github.com -u $GITHUB_ACTOR -p ${{secrets.GITHUB_TOKEN}}
# Publish image to github package repository:
- name: Publish image
env:
IMAGE_NAME: $GITHUB_REPOSITORY
run: docker push "docker.pkg.github.com/$GITHUB_REPOSITORY/${{ steps.global_env.outputs.IMAGE_NAME }}"
เดเดฆเตเดฏเด, เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดฑเต JAR เดซเดฏเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต, เด เดคเดฟเดจเตเดถเตเดทเด เดเดเตเดเตพ GitHub เดกเตเดเตเดเตผ เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเดพเดคเดฏเตเด เดเดเตเดเดณเตเดเต เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเตเด เดเดฃเดเตเดเดพเดเตเดเตเดจเตเดจเต. เดเดเตเดเตพ เดเดคเตเดตเดฐเต เดเดฃเตเดเดฟเดเตเดเดฟเดฒเตเดฒเดพเดคเตเดค เดเดฟเดฒ เดคเดจเตเดคเตเดฐเดเตเดเตพ เดเดตเดฟเดเตเดฏเตเดฃเตเดเต:
- เดเดฐเต เดจเดฟเตผเดฎเตเดฎเดพเดฃเด เดชเตเดฒเต: echo "::set-output name=NAME::VALUE" เดจเดฟเดฒเดตเดฟเดฒเต เดเดเตเดเดคเตเดคเดฟเตฝ เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด เดธเดเตเดเดฎเดพเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต, เด เดคเตเดตเดดเดฟ เดฎเดฑเตเดฑเตเดฒเตเดฒเดพ เดเดเตเดเดเตเดเดณเดฟเดฒเตเด เด เดคเต เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
- เด เดเดเตเดเดคเตเดคเดฟเดจเตเดฑเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดตเดดเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดฎเตเดฎเตเดชเดคเตเดคเต เดเดเตเดเดคเตเดคเดฟเดฒเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด เดฒเดญเดฟเดเตเดเตเด: ${{ steps.global_env.outputs.DOCKERHUB_IMAGE_NAME }}
- เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต GITHUB_REPOSITORY เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดเตเดฏเตเด เด เดคเดฟเดจเตเดฑเต เดเดเดฎเดฏเตเดเตเดฏเตเด เดชเตเดฐเต (โเดเดเดฎ/เดฑเดฟเดชเตเดชเต-เดชเตเดฐเตโ) เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเต. เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดเต เดชเตเดฐเตเดดเดฟเดเต เด เดตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฒเตเดฒเดพเด เดฎเตเดฑเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ เดฌเดพเดทเต เดตเดพเดเตเดฏเดเดเดจ เดเดชเดฏเตเดเดฟเดเตเดเตเด: ${GITHUB_REPOSITORY#*/}
เด เดเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฎเตเดเตเดเต เดกเตเดเตเดเตผ เดเดฎเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต:
docker build -t "docker.pkg.github.com/antkorwin/github-actions/github-actions:latest"
เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเตฝ เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเด:
docker login docker.pkg.github.com -u $GITHUB_ACTOR -p ${{secrets.GITHUB_TOKEN}}
เดเดฟเดคเตเดฐเด GitHub Packages Repository-เดฒเตเดเตเดเต เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเตเด:
docker push "docker.pkg.github.com/antkorwin/github-actions/github-actions"
เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต เดชเดคเดฟเดชเตเดชเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดพเตป, เดเดเตเดเตพ เดเดฎเตเดฎเดฟเดฑเตเดฑเดฟเดจเตเดฑเต SHA เดนเดพเดทเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฆเตเดฏ เด เดเตเดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต - GITHUB_SHA, เดจเดฟเดเตเดเตพ เดฎเดพเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดจเตเดธเดฐเดฟเดเตเดเต เด เดคเตเดคเดฐเด เดฌเดฟเตฝเดกเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ เดเดตเดฟเดเตเดฏเตเด เดธเตเดเตเดทเตเดฎเดคเดเดณเตเดฃเตเดเต. เดเดตเดจเตเดฑเต, เดคเตเดเตผเดจเตเดจเต Git เดเดฐเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดจเดฎเตเดฎเตพ เดเดพเดฃเตเดจเตเดจ เดนเดพเดทเตเดฎเดพเดฏเดฟ SHA เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเดฟเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด, เดเดพเดฐเดฃเด PR-เดฒเต เดกเตเดกเตโเดฒเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดดเดฟเดตเดพเดเตเดเดพเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ/เดเตเดเตเดเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เด เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดคเดจเดคเดพเดฏ เดนเดพเดทเต เดเดฃเตเดเดพเดเตเดเตเดจเตเดจเต.
เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตฝ, เดถเตเดเดฐเดฃเดคเตเดคเดฟเตฝ เดชเดพเดเตเดเตเดเตเดเดณเตเดเต เดตเดฟเดญเดพเดเด (https://github.com/antkorwin/github-actions/packages) เดคเตเดฑเดเตเดเตเดฎเตเดชเตเตพ, เดจเดฟเดเตเดเตพ เดเดฐเต เดชเตเดคเดฟเดฏ เดกเตเดเตเดเตผ เดเดฟเดคเตเดฐเด เดเดพเดฃเตเด:
เด เดตเดฟเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดกเตเดเตเดเตผ เดเดฎเตเดเดฟเดจเตเดฑเต เดชเดคเดฟเดชเตเดชเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเตเด เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด.
เด เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดเตเดเดณเตเดเต เดธเตเตผเดตเตผ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดคเต เดธเตเดตเดจเด เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต. systemd เดตเดดเดฟ เดเดคเต เดเดเตเดเดจเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดเดพเตป เดฎเดฑเตเดฑเตเดฐเดฟเดเตเดเตฝ เดธเดเดธเดพเดฐเดฟเดเตเดเตเด.
เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต
GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดฑเต เดเดฐเตเดเตเดฏ เดชเดฐเดฟเดถเตเดงเดจ เดเดเตเดเดจเต เดจเดเดคเตเดคเดพเด เดเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดฐเต เดเดชเตเดทเตป เดจเตเดเตเดเดพเด. เดเดเตเดเดณเตเดเต เดฌเตเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเต เดเดฐเต เดเดเตเดฏเตเดตเตเดฑเตเดฑเตผ เดเดฃเตเดเต, เด
เดคเดฟเดจเดพเตฝ เด
เดคเดฟเดจเตเดฑเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเตป เดเดเตเดเตพเดเตเดเต เดเดฐเต API เดเดดเตเดคเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ; เดฎเดเดฟเดฏเดจเตเดฎเดพเตผเดเตเดเดพเดฏเดฟ เดเดเตเดเตพ เดเดคเดฟเดจเดเด เดเดฒเตเดฒเดพเด เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต. เดจเดฟเดเตเดเตพ เดนเตเดธเตเดฑเตเดฑเดฟเดจเต เดตเดฒเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต: SERVER-URL:PORT/actuator/health
$ curl -v 127.0.0.1:8080/actuator/health
> GET /actuator/health HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.61.1
> Accept: */*
< HTTP/1.1 200
< Content-Type: application/vnd.spring-boot.actuator.v3+json
< Transfer-Encoding: chunked
< Date: Thu, 04 Jun 2020 12:33:37 GMT
{"status":"UP"}
เดเตเดฐเตเตบ เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเตผเดตเตผ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเตป เดเดฐเต เดเดพเดธเตเดเต เดเดดเตเดคเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดเดเตเดเตพเดเตเดเต เดตเตเดฃเตเดเดคเต, เดชเตเดเตเดเตเดจเตเดจเต เด เดคเต เดเดเตเดเตพเดเตเดเต เดเดคเตเดคเดฐเด เดจเตฝเดเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดเตเดเตพ เดเตเดฒเดฟเดเตเดฐเดพเด เดตเดดเดฟ เดเดฐเต เด เดฑเดฟเดฏเดฟเดชเตเดชเต เด เดฏเดฏเตเดเตเดเตเด.
เดเดฆเตเดฏเด, เดเดฐเต เดเตเดฐเตเตบ เดตเตผเดเตเดเตเดซเตเดฒเต เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดจเตเดเตเดเดพเด:
on:
schedule:
- cron: '*/5 * * * *'
เดเดคเต เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต, เดตเตเดฌเตโเดนเตเดเตเดเตเดเตพเดเตเดเต เดเดเตเดเตเด เดเตเดฐเดพเดคเตเดค เดเดตเดจเตเดฑเตเดเตพ เดจเดฟเดเตเดเตพเดเตเดเต Github-เตฝ เดธเตเดทเตโเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดตเดฟเดถเตเดตเดธเดฟเดเตเดเดพเตป เดชเตเดฒเตเด เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเดจเดฟเตฝ เดเดฃเตเดเต:
Curl เดตเดดเดฟ เดธเตเตผเดตเตผ เดจเดฟเดฒ เดจเตเดฐเดฟเดเตเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเด:
jobs:
ping:
runs-on: ubuntu-18.04
steps:
- name: curl actuator
id: ping
run: |
echo "::set-output name=status::$(curl ${{secrets.SERVER_HOST}}/api/actuator/health)"
- name: health check
run: |
if [[ ${{ steps.ping.outputs.status }} != *"UP"* ]]; then
echo "health check is failed"
exit 1
fi
echo "It's OK"
เดเดฆเตเดฏเด, เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเต เดธเตเตผเดตเตผ เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเดคเต เดเดเตเดเตพ เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเตเดเตเดเต เดธเดเดฐเดเตเดทเดฟเดเตเดเตเดจเตเดจเต, เด เดเตเดคเตเดค เดเดเตเดเดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดฏเตเดชเดฟ เดเดฃเตเดจเตเดจเต เดเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต, เด เดเตเดเดจเตเดฏเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดฐเต เดชเดฟเดถเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เดชเตเดฑเดคเตเดคเตเดเดเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต เดเตเดเดณเดพเตฝ เดเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต "เดฎเดฑเดฏเตเดเตเดเดพเตป" เดเดตเดถเตเดฏเดฎเตเดเตเดเดฟเตฝ, เดชเดฟเดจเตเดจเต เดชเตเดฑเดคเตเดคเตเดเดเดเตเดเตเด 1 - เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดฏเตเดงเด.
- name: send alert in telegram
if: ${{ failure() }}
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
Health check of the:
${{secrets.SERVER_HOST}}/api/actuator/health
failed with the result:
${{ steps.ping.outputs.status }}
เดฎเตเดฎเตเดชเดคเตเดคเต เดเดเตเดเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดชเดฐเดพเดเดฏเดชเตเดชเตเดเตเดเดพเตฝ เดฎเดพเดคเตเดฐเดฎเต เดเดเตเดเตพ เดเตเดฒเดฟเดเตเดฐเดพเดฎเดฟเดฒเตเดเตเดเต เด
เดฏเดฏเตเดเตเดเต. เดเดฐเต เดธเดจเตเดฆเตเดถเด เด
เดฏเดฏเตโเดเตเดเดพเตป เดเดเตเดเตพ appleboy/telegram-action เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต; เดเดฐเต เดฌเตเดเตเดเต เดเตเดเตเดเดฃเตเด เดเดพเดฑเตเดฑเต เดเดกเดฟเดฏเตเด เดเดเตเดเดจเต เดจเตเดเดพเด เดเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเดจเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดตเดพเดฏเดฟเดเตเดเดพเด:
Github-เดฒเต เดฐเดนเดธเตเดฏเดเตเดเดณเดฟเตฝ เดเดดเตเดคเดพเตป เดฎเดฑเดเตเดเดฐเตเดคเต: เดธเตเตผเดตเดฑเดฟเดจเดพเดฏเตเดณเตเดณ URL, เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเดฟเดจเตเดณเตเดณ เดเตเดเตเดเดฃเตเดเตพ.
เดฌเตเดฃเดธเต เดเตเดฐเดพเดเตเดเต - เดฎเดเดฟเดฏเดจเตเดฎเดพเตผเดเตเดเตเดณเตเดณ JIRA
เดเดเตเดเตพ เดเดฟเดฑเดฏเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดฎเตเดจเตเดจเต เดเดพเตป เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดคเต, เดเดเตเดเตพ เดฎเดเดเตเดเดฟ. เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดเดฐเต เดซเตเดเตเดเตผ เดเดฃเตเดเดพเดเตเดเดฟเดฏเดชเตเดชเตเตพ, เดเดฐเต เดฌเตเดฐเดพเดเตเดเต เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเดชเตเดชเตเตพ เดธเตเดฑเตเดฑเดพเตปเดกเต-เด เดชเตเดชเตเดเดณเดฟเตฝ เดจเตเดฑเตเดเดฃเดเตเดเดฟเดจเต เดคเดตเดฃ เดเดพเตป เดเดฐเต เดธเดพเดนเดเดฐเตเดฏเด เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเต, เดชเดเตเดทเต เดชเตเดฐเดถเตเดจเด JIRA-เดฏเดฟเดฒเตเดเตเดเต เดตเดฒเดฟเดเตเดเดฟเดเดพเตป เดฎเดฑเดจเตเดจเต. เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเดคเตเดฒเตเดฒเดพเด เดเดฐเดฟเดเดคเตเดคเต เดเตเดฏเตเดคเดพเตฝ, เด เดคเต เดเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดชเดเตเดทเต เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เดเดเตเดเตพ IDE-เดฏเดฟเตฝ เดเตเดกเต เดเดดเตเดคเตเดจเตเดจเต, เดถเดพเดเดเตพ เดฌเดฟเดฑเตเดฑเตเดฌเดเตเดเดฑเตเดฑเดฟเดฒเต GitHub-เดฒเต เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเด, เดคเตเดเตผเดจเตเดจเต เดเดพเดธเตเดเตเดเตเดเตพ เดเดฟเดฑเดฏเดฟเดฒเตเดเตเดเต เดตเดฒเดฟเดเตเดเดฟเดเตเด, เดเดคเดฟเดจเดพเดฏเดฟ เดเดเตเดเตพ เดชเตเดคเดฟเดฏ เดตเดฟเตปเดกเตเดเตพ เดคเตเดฑเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. , เดเดฟเดฒเดชเตเดชเตเตพ เดตเตเดฃเตเดเตเด เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเด เดคเตเดเดเตเดเดฟเดฏเดต. เด เดเตเดคเตเดคเดคเดพเดฏเดฟ เดเดจเตเดคเดพเดฃเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดจเดจเตเดจเดพเดฏเดฟ เดเตผเดเตเดเตเดฎเตเดชเตเตพ, เดฌเตเตผเดกเต เดตเตเดฃเตเดเตเด เดคเตเดฑเดเตเดเตเดจเตเดจเดคเดฟเตฝ เด เตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดฐเดพเดตเดฟเดฒเต เดเดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเดชเตเดชเดฟเตฝ เดจเดฟเดเตเดเตพ เดเดพเดธเตโเดเต เดฌเตเตผเดกเต เด เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดธเดฎเดฏเด เดเตเดฒเดตเดดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เด เดชเดคเดฟเดตเต เดเดพเดธเตโเดเตเดเดฟเตฝ GitHub เดเดเตเดเดณเต เดธเดนเดพเดฏเดฟเดเตเดเตเด; เดคเตเดเดเตเดเดเตเดเดพเตผเดเตเดเดพเดฏเดฟ, เดเดเตเดเตพ เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดธเดฎเตผเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฐเดถเตเดจเดเตเดเตพ เดธเตเดตเดฏเดฎเตเดต code_review เดเตเดณเดคเตเดคเดฟเดฒเตเดเตเดเต เดตเดฒเดฟเดเตเดเดฟเดเดพเด. เดฌเตเดฐเดพเดเตเดเต เดจเดพเดฎเดเดฐเดฃ เดเตบเดตเตเตปเดทเตป เดชเดฟเดจเตเดคเตเดเดฐเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดจเดฟเดเตเดเตพ เดเตเดฏเตเดฏเตเดฃเตเดเดคเต:
[ะธะผั ะฟัะพะตะบัะฐ]-[ะฝะพะผะตั ัะฐัะบะฐ]-ะฝะฐะทะฒะฐะฝะธะต
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเต "GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ" GA เดเดฃเตเดเตเดเดฟเตฝ, เดชเดฟเดจเตเดจเต GA-8-jira-bot
GA-8 เดเดพเดธเตเดเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดถเดพเดเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด.
เดเดฟเดฑเดฏเตเดฎเดพเดฏเตเดณเตเดณ เดธเดเดฏเตเดเดจเด เด เดฑเตเดฑเตเดฒเดพเดธเดฟเดฏเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเดฟเดฒเตเดเตเดฏเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต, เด เดต เดคเดฟเดเดเตเดเดคเดฒเตเดฒ, เด เดตเดฏเดฟเตฝ เดเดฟเดฒเดคเต เดเดจเดฟเดเตเดเต เดตเตเดฃเตเดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดเตเดเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดพเตป เดชเดฑเดฏเดฃเด. เดเดจเตเดจเดพเตฝ เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดตเดฏเตเด เดธเดเตเดตเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดตเดฏเตเด เดฎเดพเดคเตเดฐเดฎเต เดเดเตเดเตพ เดเตผเดเตเดเดเตเดฏเตเดฏเต.
เดเดฆเตเดฏเด เดจเดฟเดเตเดเตพ เดเดเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต JIRA-เดฏเดฟเดฒเตเดเตเดเต เดฒเตเดเดฟเตป เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต: atlassian/gajira-login
jobs:
build:
runs-on: ubuntu-latest
name: Jira Workflow
steps:
- name: Login
uses: atlassian/gajira-login@master
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ JIRA-เดฏเดฟเตฝ เดเดฐเต เดเตเดเตเดเตบ เดจเตเดเตเดฃเตเดเดคเตเดฃเตเดเต, เดเดคเต เดเดเตเดเดจเต เดเตเดฏเตเดฏเดฃเดฎเตเดจเตเดจเต เดเดตเดฟเดเต เดตเดฟเดตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต:
เดฌเตเดฐเดพเดเตเดเต เดจเดพเดฎเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตพ เดเดพเดธเตโเดเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดเดเตโเดธเตโเดเตเดฐเดพเดเตโเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต:
- name: Find Issue
id: find_issue
shell: bash
run: |
echo "::set-output name=ISSUE_ID::$(echo ${GITHUB_HEAD_REF} | egrep -o 'GA-[0-9]{1,4}')"
echo brach name: $GITHUB_HEAD_REF
echo extracted issue: ${GITHUB_HEAD_REF} | egrep -o 'GA-[0-9]{1,4}'
- name: Check Issue
shell: bash
run: |
if [[ "${{steps.find_issue.outputs.ISSUE_ID}}" == "" ]]; then
echo "Please name your branch according to the JIRA issue: [project_key]-[task_number]-branch_name"
exit 1
fi
echo succcessfully found JIRA issue: ${{steps.find_issue.outputs.ISSUE_ID}}
เดจเดฟเดเตเดเตพ GitHub เดฎเดพเตผเดเตเดเดฑเตเดฑเดฟเตฝ เดคเดฟเดฐเดฏเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เด เดเดพเดธเตโเดเตเดเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดฃเตเดเตเดคเตเดคเดพเดจเดพเดเตเด, เดชเดเตเดทเต เดเดจเดฟเดเตเดเต เดฌเตเดฐเดพเดเตเดเดฟเดจเตเดฑเต เดชเตเดฐเต เดเดชเดฏเตเดเดฟเดเตเดเต grep เดเดชเดฏเตเดเดฟเดเตเดเต เด เดคเต เดเดพเดฐเตเดฏเด เดเดดเตเดคเตเดฃเตเดเดฟเดตเดจเตเดจเต, เดเดพเดฐเดฃเด Atlassian-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดจเตเดฑเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดคเดฐเดคเตเดคเดฟเดฒเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. , เด เดตเดฟเดเต เดเดจเตเดคเดพเดฃเต เดคเตเดฑเตเดฑเต เดเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเตป - เดจเดฟเดเตเดเดณเตเดเต เดเตเดเตเดฃเตเดเต เดเดฐเต เดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดเตเดเดพเตพ เดเตเดเตเดคเตฝ เดธเดฎเดฏเด.
เดเดฐเต เดชเตเตพ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ "เดเตเดกเต เด เดตเดฒเตเดเดจเด" เดจเดฟเดฐเดฏเดฟเดฒเตเดเตเดเต เดเดพเดธเตเดเตเดเต เดจเตเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต:
- name: Transition issue
if: ${{ success() }}
uses: atlassian/gajira-transition@master
with:
issue: ${{ steps.find_issue.outputs.ISSUE_ID }}
transition: "Code review"
GitHub-เตฝ เดเดคเดฟเดจเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเตเดฃเตเดเต, เด เดคเดฟเดจเต เดตเตเดฃเตเดเดคเต เดฎเตเดฎเตเดชเดคเตเดคเต เดเดเตเดเดคเตเดคเดฟเตฝ เดฒเดญเดฟเดเตเด เดเดทเตเดฏเต เดเดกเดฟเดฏเตเด เดเดเตเดเตพ เดฎเตเดเดณเดฟเตฝ เดเตเดฏเตเดค JIRA-เดฏเดฟเดฒเต เด เดเดเตเดเดพเดฐเดตเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต.
เด เดคเตเดชเตเดฒเต, เดฎเดพเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดฒเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดพเดธเตโเดเตเดเตเดเดณเตเด GitHub เดตเตผเดเตเดเตเดซเตเดฒเตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเดฑเตเดฑเต เดเดตเดจเตเดฑเตเดเดณเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดตเดฒเดฟเดเตเดเดฟเดเดพเดจเดพเดเตเด. เดชเตเดคเตเดตเต, เดเดคเตเดฒเตเดฒเดพเด เดจเดฟเดเตเดเดณเตเดเต เดญเดพเดตเดจเดฏเตเดฏเตเด เดชเดคเดฟเดตเต เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณ เดเดเตเดฐเดนเดคเตเดคเตเดฏเตเด เดเดถเตเดฐเดฏเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดเดฃเตเดเตเดคเตเดคเดฒเตเดเตพ
เดจเดฟเดเตเดเตพ เดเตเดฒเดพเดธเดฟเดเต DEVOPS เดกเดฏเดเตเดฐเด เดจเตเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต เดเดดเดฟเดเต เดเดฒเตเดฒเดพ เดเดเตเดเดเตเดเดณเตเด เดเดตเตผ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต, เดจเดฟเดเตเดเตพ เดถเตเดฐเดฎเดฟเดเตเดเดพเตฝ, เดนเตเตฝเดชเตเดชเต-เดกเตเดธเตโเดเต เดธเดฟเดธเตเดฑเตเดฑเดตเตเดฎเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดพเตผเดเตเดเดฑเตเดฑเดฟเตฝ เดเดฟเดฒ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดชเตเดชเตเดชเต เดฒเตเตป เดคเดฟเดฐเดฟเดเตเดเตเดตเตเดจเตเดจเต เดเดเตเดเตพ เด เดจเตเดฎเดพเดจเดฟเดเตเดเตเด. เดธเดฎเดเตเดฐเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเดเดฏเตเด เด เดคเดฟเดจเตเดฑเต เดเดชเดฏเตเดเดคเตเดคเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดจเดฟเดเดฎเดจเดเตเดเดณเดฟเตฝ เดเดคเตเดคเดฟเดเตเดเตเดฐเตเดเดฏเตเด เดเตเดฏเตเดฏเดพเด.
เดชเตเดฐเตเดธเต:
- เดเดฒเตเดฒเดพ เด เดตเดธเดฐเดเตเดเดณเดฟเดฒเตเด เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเตเดณเตเดณ เดฎเดพเตผเดเตเดเดฑเตเดฑเตเดชเตเดฒเตเดธเต, เดเดคเต เดตเดณเดฐเต เดฐเดธเดเดฐเดฎเดพเดฃเต. เด เดตเดฏเดฟเตฝ เดฎเดฟเดเตเดเดคเดฟเดฒเตเด, เดธเดฎเดพเดจเดฎเดพเดฏ เดเดฐเต เดชเตเดฐเดถเตเดจเด เดเดเตเดเดจเต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ GitHub เดถเตเดเดฐเดฃเดคเตเดคเดฟเตฝ เดจเตเดฐเดฟเดเตเดเต เดเดฐเต เดซเตเดเตเดเตผ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดฐเดเดฏเดฟเดคเดพเดตเดฟเดจเต เดเดเตเดเดจเต เดชเตเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเด เดเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เดธเตเดดเตเดธเต เดเตเดกเต เดจเตเดเตเดเดพเดตเตเดจเตเดจเดคเดพเดฃเต.
- เด เดธเดเดฌเตเดฒเดฟเดเตเดเดพเดฏเดฟ เดเดพเตผเดเตเดฑเตเดฑเต เดชเตเดฒเดพเดฑเตเดฑเตเดซเตเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเต: Linux, mac OS, windows เดเดจเตเดจเดฟเดต เดตเดณเดฐเต เดฐเดธเดเดฐเดฎเดพเดฏ เดเดฐเต เดธเดตเดฟเดถเตเดทเดคเดฏเดพเดฃเต.
- Github เดชเดพเดเตเดเตเดเตเดเตพ เดเดฐเต เดฎเดนเดคเตเดคเดพเดฏ เดเดพเดฐเตเดฏเดฎเดพเดฃเต, เดฎเตเดดเตเดตเตป เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเดฑเตเด เดเดฐเดฟเดเดคเตเดคเต เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต, เดจเดฟเดเตเดเตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เดตเดฟเตปเดกเตเดเดณเดฟเดฒเตเดเต เดธเตผเดซเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเดฟเดฒเตเดฒ, เดเดฒเตเดฒเดพเด เดเดจเตเดจเต เดฐเดฃเตเดเต เดฎเตเดธเต เดเตเดฒเดฟเดเตเดเตเดเดณเตเดเต เดชเดฐเดฟเดงเดฟเดฏเดฟเดฒเดพเดฃเต, เดเตเดเดพเดคเต GitHub เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเตเดฎเดพเดฏเดฟ เดคเดฟเดเดเตเดเตเด เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดธเตเดเดจเตเดฏ เดชเดคเดฟเดชเตเดชเดฟเดฒเต เดกเตเดเตเดเตผ เดฐเดเดฟเดธเตเดเตเดฐเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด เดเดฐเต เดจเดฒเตเดฒ เดจเตเดเตเดเดฎเดพเดฃเต.
- GitHub เดฌเดฟเตฝเดกเต เดฒเตเดเตเดเดณเดฟเตฝ เดฐเดนเดธเตเดฏเดเตเดเตพ เดฎเดฑเดฏเตเดเตเดเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดชเดพเดธเตโเดตเตเดกเตเดเดณเตเด เดเตเดเตเดเดฃเตเดเดณเตเด เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เด เดคเตเดฐ เดญเดฏเดพเดจเดเดฎเดฒเตเดฒ. เดเดจเตเดฑเต เดเดฒเตเดฒเดพ เดชเดฐเตเดเตเดทเดฃเดเตเดเดณเดฟเดฒเตเด, เดเตบเดธเตเดณเดฟเตฝ เดฐเดนเดธเตเดฏเด เด เดคเดฟเดจเตเดฑเต เดถเตเดฆเตเดงเดฎเดพเดฏ เดฐเตเดชเดคเตเดคเดฟเตฝ เดเดพเดฃเดพเตป เดเดจเดฟเดเตเดเต เดเดดเดฟเดเตเดเดฟเดฒเตเดฒ.
- เดเดชเตเดชเตบ เดธเตเดดเตเดธเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเตพเดเตเดเต เดธเตเดเดจเตเดฏเด
เดชเดฐเดฟเดเดฃเดจ:
- YML, เดถเดฐเดฟ, เดเดจเดฟเดเตเดเต เด เดตเดจเต เดเดทเตเดเดฎเดฒเตเดฒ. เด เดคเตเดคเดฐเด เดเดฐเต เดเดดเตเดเตเดเดฟเดจเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดจเตเดฑเต เดเดฑเตเดฑเดตเตเด เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เดเดฎเตเดฎเดฟเดฑเตเดฑเต เดธเดจเตเดฆเตเดถเด "yml เดซเตเตผเดฎเดพเดฑเตเดฑเต เดถเดฐเดฟเดฏเดพเดเตเดเตเด" เดเดฃเต, เดคเตเดเตผเดจเตเดจเต เดจเดฟเดเตเดเตพ เดเดตเดฟเดเตเดฏเตเดเตเดเดฟเดฒเตเด เดเดฐเต เดเดพเดฌเต เดเดเดพเตป เดฎเดฑเดเตเดเตเดเดฏเต เดคเตเดฑเตเดฑเดพเดฏ เดตเดฐเดฟเดฏเดฟเตฝ เดเดดเตเดคเตเดเดฏเต เดเตเดฏเตเดฏเตเดจเตเดจเต. เดชเตเดคเตเดตเต, เดเดฐเต เดชเตเดฐเตเดเตเดเดเตเดฑเตเดฑเดฑเตเด เดญเดฐเดฃเดพเดงเดฟเดเดพเดฐเดฟเดฏเตเดฎเดพเดฏเดฟ เดเดฐเต เดธเตเดเตเดฐเตเดจเดฟเดจเต เดฎเตเดจเตเดจเดฟเตฝ เดเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดเดฑเตเดฑเดตเตเด เดธเตเดเดเดฐเดฎเดพเดฏ เด เดจเตเดญเดตเดฎเดฒเตเดฒ.
- เดกเตเดฌเดเต เดเตเดฏเตเดฏเตเด, เดเดฎเตเดฎเดฟเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดดเตเดเตเดเต เดกเตเดฌเดเต เดเตเดฏเตเดฏเตเด, เดเดฐเต เดฑเตเดฌเดฟเตฝเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด, เดเตบเดธเตเดณเดฟเดฒเตเดเตเดเต เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดฟเดต เดเดฒเตเดฒเดพเดฏเตโเดชเตเดชเตเดดเตเด เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ เดเดคเต "เดจเดฟเดเตเดเตพ เด เดฎเดฟเดคเดฎเดพเดฏเดฟ เดเตเดฏเตเดคเต" เดเดจเตเดจ เดตเดฟเดญเดพเดเดคเตเดคเดฟเตฝ เดเตเดเตเดคเดฒเดพเดฃเต; เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดคเตเด เดกเตเดฌเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเดฎเตเดชเตเตพ เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดเดกเดฟเดฏ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเตพ เดชเดคเดฟเดตเดพเดฃเต. .
- เดกเตเดเตเดเดฑเดฟเตฝ เดชเตเดคเดฟเดเตเดเดพเตฝ เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดดเตเดคเดพเตป เดเดดเดฟเดฏเตเด, เดเดจเตเดจเดพเตฝ เดเดพเดตเดพเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดฎเดพเดคเตเดฐเดฎเต เดชเตเดฐเดพเดฆเตเดถเดฟเดเดฎเดพเดฏเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเตเดณเตเดณเต, เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดเดคเต เด เดญเดฟเดฐเตเดเดฟเดฏเตเดเต เดเดพเดฐเตเดฏเดฎเดพเดฃเต, เดชเดเตเดทเต js-เดจเต เดชเดเดฐเด เดฎเดฑเตเดฑเตเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเดพเตป เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด.
เดเดฒเตเดฒเดพ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเดณเตเดฎเตเดณเตเดณ เดถเตเดเดฐเด เดเดตเดฟเดเต เดเดฃเตเดเตเดจเตเดจเต เดเดพเตป เดจเดฟเดเตเดเดณเต เดเตผเดฎเตเดฎเดฟเดชเตเดชเดฟเดเตเดเดเตเดเต:
เด เดเตเดคเตเดค เดเดดเตเด เดเดพเตป เดเตเดเต เดชเตเตผเดซเตเด เดเตเดฏเตเดฏเตเด
เดฑเดฟเดชเตเดชเตเตผเดเตเดเต Heisenbug 2020 Piter เดเตเตบเดซเดฑเตปเดธเดฟเตฝ. เดเตเดธเตเดฑเตเดฑเต เดกเดพเดฑเตเดฑ เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเตเดฎเตเดชเตเตพ เดคเตเดฑเตเดฑเตเดเตพ เดเดเตเดเดจเต เดเดดเดฟเดตเดพเดเตเดเดพเดฎเตเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดเดพเดต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเดฟเดฒเต เดกเดพเดฑเตเดฑเดพ เดธเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดฐเดนเดธเตเดฏเดเตเดเดณเตเด เดเดพเตป เดจเดฟเดเตเดเดณเตเดเต เดชเดฑเดฏเตเด!
เด เดตเดฒเดเดฌเด: www.habr.com