เจฎเฉเจจเฉเฉฐ เจ
เจเจธเจฐ Java เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจชเจพเจเจชเจฒเจพเจเจจ เจฌเจฃเจพเจเจฃเฉ เจชเฉเจเจฆเฉ เจนเฉเฅค เจเจ เจตเจพเจฐ เจเจน เจเจชเจจ เจธเฉเจฐเจธ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจ เจตเจพเจฐ เจเจน เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค เจฎเฉเจ เจนเจพเจฒ เจนเฉ เจตเจฟเฉฑเจ เจเจชเจฃเฉเจเจ เจเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจจเฉเฉฐ เจเฉเจฐเฉเจตเจฟเจธ-เจธเฉเจเจ เจ
เจคเฉ เจเฉเจฎเจธเจฟเจเฉ เจคเฉเจ เจเจฟเฉฑเจเจนเจฌ เจเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจพเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ, เจ
เจคเฉ เจเจน เจเจนเฉ เจนเฉ เจเฉ เจเจธ เจตเจฟเฉฑเจเฉเจ เจจเจฟเจเจฒเจฟเจเฅค
เจ เจธเฉเจ เจเฉ เจเจเฉเจฎเฉเจเจฟเจ เจเจฐเจพเจเจเฉ?
เจชเจนเจฟเจฒเจพเจ, เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเฉ เจ เจธเฉเจ เจเจเฉเจฎเฉเจ เจเจฐเจพเจเจเฉ, เจเจ เจธเจชเจฐเจฟเฉฐเจ เจฌเฉเจ / เจเจพเจตเจพ 11 / เจฎเจพเจตเฉเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเฉ เจเจฟเจนเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจฐเฉเจ. เจเจธ เจฒเฉเจ เจฆเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ, เจ เจธเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจคเจฐเจ เจตเจฟเฉฑเจ เจฌเจฟเจฒเจเฉเจฒ เจตเฉ เจฆเจฟเจฒเจเจธเจชเฉ เจจเจนเฉเจ เจฐเฉฑเจเจพเจเจเฉ; เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจเจฒเฉ เจฆเฉเจเจฒเฉ เจฆเจพ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเจพ เจธเจพเจกเฉ เจฒเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ, เจเจธ เจฒเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ REST API เจเฉฐเจเจฐเฉเจฒเจฐ เจธเจพเจกเฉ เจฒเจ เจเจพเจซเฉ เจนเฉเจตเฉเจเจพเฅค
เจคเฉเจธเฉเจ เจเฉฑเจฅเฉ เจธเจฐเฉเจคเจพเจ เจจเฉเฉฐ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ:
เจเฉเจฐเจพ เจ เจคเฉ เจฏเฉเจเจจเจพเจฌเฉฐเจฆเฉ
เจเจน เจเจนเจฟเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจนเฉ เจเจฟ เจ เจธเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ JIRA เจจเฉเฉฐ เจเฉฑเจ เจฎเฉเฉฑเจฆเฉ เจเจฐเฉเจเจฐ เจตเจเฉเจ เจตเจฐเจคเจฆเฉ เจนเจพเจ, เจเจธเจฒเจ เจเจ เจเจธ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจฌเฉเจฐเจก เจฌเจฃเจพเจเจ เจ เจคเฉ เจเฉฑเจฅเฉ เจชเจนเจฟเจฒเฉ เจฎเฉเฉฑเจฆเฉ เจธเจผเจพเจฎเจฒ เจเจฐเฉเจ:
เจฅเฉเฉเฉ เจฆเฉเจฐ เจฌเจพเจ เจฆ เจ เจธเฉเจ JIRA เจ เจคเฉ GitHub เจธเฉเจฎเฉเจฒ เจตเจฟเฉฑเจ เจเจฟเจนเฉเฉเจเจ เจฆเจฟเจฒเจเจธเจช เจเฉเจเจผเจพเจ เจฆเฉ เจชเฉเจธเจผเจเจธเจผ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ 'เจคเฉ เจตเจพเจชเจธ เจเจตเจพเจเจเฉเฅค
เจ เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจ เจธเฉเจเจฌเจฒเฉ เจจเฉเฉฐ เจธเจตเฉเจเจพเจฒเจค เจเจฐเจฆเฉ เจนเจพเจ
เจธเจพเจกเจพ เจเฉเจธเจ เจชเฉเจฐเฉเจเฉเจเจ เจฎเฉเจตเฉเจจ เจฆเฉเจเจฐเจพ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ, เจเจธเจฒเจ เจเจธเจจเฉเฉฐ เจฌเจฃเจพเจเจฃเจพ เจเจพเจซเจผเฉ เจธเจงเจพเจฐเจจ เจนเฉ, เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ mvn เจธเจพเจซเจผ เจชเฉเจเฉเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจเฉเจฅเจฌ เจเจเจธเจผเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจเจชเจฃเฉ เจตเจฐเจเจซเจฒเฉ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจจ เจตเจพเจฒเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ, เจเจน เจเฉฑเจ เจจเจฟเจฏเจฎเจค yml เจซเจพเจเจฒ เจจเจพเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจฎเฉเจ เจเจน เจจเจนเฉเจ เจเจนเจฟ เจธเจเจฆเจพ เจเจฟ เจฎเฉเจจเฉเฉฐ "yml เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ" เจชเจธเฉฐเจฆ เจนเฉ, เจชเจฐ เจ เจธเฉเจ เจเฉ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ - เจ เจธเฉเจ เจเจธเจจเฉเฉฐ .github/ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฐเจเจซเจฒเฉ/ เจซเจพเจเจฒ 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 โ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจนเจฐ เจตเจพเจฐ เจเจฆเฉเจ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจชเฉเจธเจผ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฌเจฃเจพเจเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ เจคเจพเจ เจเจธ เจตเจฐเจเจซเจฒเฉ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉฐเจฎเจพเจ เจฆเจพ เจตเฉเจฐเจตเจพ เจนเฉ (เจจเฉเจเจฐเฉ) เจ เจคเฉ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจธเจเฉเจชเจธ (เจเจฆเจฎ) เจนเจฐเฉเจ เจเฉฐเจฎ เจฒเจเฅค
เจเฉฑเจฒเจฆเจพ เจนเฉ - เจเฉฑเจฅเฉ เจ เจธเฉเจ เจเจพเจฐเจเฉเจ เจเจเจธ เจฆเฉ เจเฉเจฃ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ, เจนเฉเจฐเจพเจจเฉ เจฆเฉ เจเฉฑเจฒ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจฎเฉเจ เจเจเจธ เจตเฉ เจเฉเจฃ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจชเฉเจฐเจพเจเจตเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ 'เจคเฉ เจเจน เจเจพเจซเจผเฉ เจฎเจนเจฟเฉฐเจเจพ เจนเฉ (เจฒเฉเจจเจเจธ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ)เฅค
เจตเจฐเจคเจฆเจพ เจนเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจฐ เจเจพเจฐเจตเจพเจเจเจ เจฆเฉ เจฎเฉเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจเจธเจผเจจ/เจธเฉเฉฑเจเจ เฉฑเจช-เจเจพเจตเจพ เจเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจ เจธเฉเจ Java 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 }}
เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจจ เจฒเจ, เจฎเฉเจ เจเฉเจเฉเจเฉ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจจเจพเจฒ เจเฉเจกเจเฉเจต เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเจพเจเฅค เจเฉเจกเจเฉเจต เจฆเฉ เจเจชเจฃเฉ เจเจพเจฐเจตเจพเจ เจนเฉ, เจชเจฐ เจเจธเจจเฉเฉฐ เจธเจพเจกเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเฉเจเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
${{ secrets.CODECOV_TOKEN }}
โ เจ
เจธเฉเจ เจเจธ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉเฉฐ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจตเจพเจฐ เจฆเฉเจเจพเจเจเฉ, เจญเฉเจฆ GitHub เจตเจฟเฉฑเจ เจญเฉเจฆ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเจฟเจงเฉ เจนเฉ, เจ
เจธเฉเจ เจเฉฑเจฅเฉ เจชเจพเจธเจตเจฐเจก/เจเฉเจเจจ/เจนเฉเจธเจ/urls เจ
เจคเฉ เจนเฉเจฐ เจกเฉเจเจพ เจฒเจฟเจ เจธเจเจฆเฉ เจนเจพเจ เจเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉเจก เจฌเฉเจธ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจเฅค
เจคเฉเจธเฉเจ GitHub 'เจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจญเฉเจฆ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจเฉเฉ เจธเจเจฆเฉ เจนเฉ:
'เจคเฉ เจเฉเจเจจ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ
เจเฉเจเฉเจเฉ เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ POM เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ:
<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/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 }}
เจนเฉเจฃ เจคเฉเจ เจธเจพเจฐเฉเจเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจเจชเจฃเฉ เจเจช เจฐเจฟเจฒเฉเจเจผ เจจเฉเจเจธ เจตเจฟเฉฑเจ เจเจเฉฑเจ เฉเจเจ เจเฉเจคเฉเจเจ เจเจพเจฃเจเฉเจเจ - เจเจพเจฆเฉ!
เจเฉฑเจฅเฉ เจธเจตเจพเจฒ เจเฉฑเจ เจธเจเจฆเจพ เจนเฉ: เจเฉ เจกเจฟเจตเฉเจฒเจชเจฐ เจชเฉเจเจฐ เจตเจฟเฉฑเจ เจเฉเจ เจฒเจเจพเจเจฃเจพ เจญเฉเฉฑเจฒ เจเจพเจเจฆเฉ เจนเจจ เจคเจพเจ เจเฉ เจนเฉเจตเฉเจเจพ? เจซเจฟเจฐ เจเจน เจธเจชเฉฑเจธเจผเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจเจฟ เจเจธเจจเฉเฉฐ เจเจฟเจธ เจธเจผเฉเจฐเฉเจฃเฉ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฃเจพ เจนเฉ, เจ เจคเฉ เจฆเฉเจฌเจพเจฐเจพ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจจเจพเจฒ เจนเฉฑเจฅเฉเจ เจจเจเจฟเฉฑเจ เจฃเจพ เจชเจเจเจพ, เจนเจฐเฉเจ เจชเฉเจเจฐ เจจเจพเจฒ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ. เจเจธ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจเฉฑเจ เจนเฉเจฐ เจเจพเจฐเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ - เจฒเฉเจฌเจฒ เจตเฉเจฐเฉเจซเจพเจเจฐ - เจเจน เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ 'เจคเฉ เจเฉเจเจธ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจเฉเจ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจ เจจเจนเฉเจ เจนเจจ, เจคเจพเจ เจเจพเจเจ เจ เจธเจซเจฒ เจนเฉ เจเจพเจตเฉเจเฉ เจ เจคเฉ เจ เจธเฉเจ เจเจชเจฃเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเฉฑเจ เจเจธ เจฌเจพเจฐเฉ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจฆเฉเจเจพเจเจเฉเฅค
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'
เจนเฉเจฃ เจเจฟเจธเฉ เจตเฉ เจชเฉเฉฑเจฒ-เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจเฉเจเจธ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจจเจพเจฒ เจเจฟเฉฐเจจเฉเจนเจฟเจค เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ: type:fix, type:features, type:documentation, type:tests, type:configเฅค
เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจธเจตเฉ-เจเจจเฉเจเฉเจธเจผเจจ
เจเจฟเจเจเจเจฟ เจ
เจธเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจญเจพเจตเฉ เจเฉฐเจฎ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจ
เจเจฟเจนเฉ เจตเจฟเจธเจผเฉ 'เจคเฉ เจเฉเจนเจฟเจ เจนเฉ, เจเจน เจฒเฉเจฌเจฒเจฐ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจ
เจเจฟเจนเฉ เจเจพเจฐเจตเจพเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉ, เจเจน PR เจตเจฟเฉฑเจ เจเฉเจ เจฐเฉฑเจเจฆเจพ เจนเฉ เจเจฟเจธ เจฆเฉ เจ
เจงเจพเจฐ เจคเฉ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจนเฉ. เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจเจฟเจธเฉ เจตเฉ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ [เจฌเจฟเจฒเจก] เจตเจเฉเจ เจเจฟเฉฐเจจเฉเจนเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจธเจผเจพเจฎเจฒ เจนเจจ .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/**"
เจฎเฉเจ เจเจธ เจเจพเจฐเจตเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจตเจฟเฉฑเจ เจธเจซเจฒ เจจเจนเฉเจ เจนเฉเจเจ เจเฉ เจฒเฉเฉเฉเจเจฆเฉ เจฒเฉเจฌเจฒเจพเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจตเจพเจฒเฉ เจเจพเจฐเจตเจพเจ เจฆเฉ เจจเจพเจฒ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉเจเจ เจตเจฟเฉฑเจ เจฒเฉเจฌเจฒเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจฐเฉฑเจเจฆเจพ เจนเฉ; เจฎเฉเจ-เจฒเฉเจฌเจฒ เจฌเฉเจ เจฆเฉเจเจฐเจพ เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจฒเฉเจฌเจฒเจพเจ เจจเฉเฉฐ เจจเจนเฉเจ เจฆเฉเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจคเฉเจนเจพเจกเฉ เจเจชเจฃเฉ เจเจพเจฐเจตเจพเจ เจฒเจฟเจเจฃเจพ เจธเฉเจเจพ เจฒเฉฑเจเจฆเจพ เจนเฉ เจเฉ เจฆเฉเจตเจพเจ เจชเฉเจพเจตเจพเจ เจจเฉเฉฐ เจเฉเฉเจฆเจพ เจนเฉเฅค เจชเจฐ เจเจธ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจ เจตเฉ เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจเจพเจซเจผเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ; เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจธเฉเจเฉ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจฒเฉเจฌเจฒ เจเฉเจฃเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจเจน เจคเฉเจจเจพเจค เจเจฐเจจ เจฆเจพ เจธเจฎเจพเจ เจนเฉ
เจฎเฉเจ เจเจฟเจเจนเจฌ เจเจเจธเจผเจจเจเจผ (ssh เจฆเฉเจเจฐเจพ, scp เจฆเฉเจเจฐเจพ, เจ เจคเฉ docker-hub เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ) เจฆเฉเจเจฐเจพ เจเจ เจคเฉเจจเจพเจคเฉ เจตเจฟเจเจฒเจชเจพเจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ, เจ เจคเฉ เจฎเฉเจ เจเจนเจฟ เจธเจเจฆเจพ เจนเจพเจ เจเจฟ, เจเจผเจฟเจเจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฐเจตเจฐ เจคเฉ เจฌเจพเจเจจเจฐเฉ เจ เจชเจฒเฉเจก เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจคเจฐเฉเจเจพ เจฎเจฟเจฒเฉเจเจพ, เจญเจพเจตเฉเจ เจคเฉเจนเจพเจกเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจเจฟเฉฐเจจเฉ เจตเฉ เจเฉเจขเฉ เจเจฟเจเจ เจจเจพ เจนเฉเจตเฉเฅค เจนเฉ.
เจฎเฉเจจเฉเฉฐ เจชเฉเจฐเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจจเฉเฉฐ เจเฉฑเจ เจฅเจพเจ 'เจคเฉ เจฐเฉฑเจเจฃ เจฆเจพ เจตเจฟเจเจฒเจช เจชเจธเฉฐเจฆ เจนเฉ, เจเจธ เจฒเจ เจเจ เจฆเฉเจเฉเจ เจเจฟ GitHub เจชเฉเจเฉเจเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจคเฉเจจเจพเจค เจเจฐเจจเจพ เจนเฉ (เจเจน เจฌเจพเจเจจเจฐเฉ เจธเจฎเฉฑเจเจฐเฉ, npm, jar, docker เจฒเจ เจเฉฑเจ เจญเฉฐเจกเจพเจฐ เจนเฉ)เฅค
เจเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเจธเจจเฉเฉฐ 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 เจชเฉเจเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ:
docker push "docker.pkg.github.com/antkorwin/github-actions/github-actions"
เจเจฟเฉฑเจคเจฐ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฒเจ, เจ เจธเฉเจ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจฆเฉ SHA เจนเฉเจธเจผ เจคเฉเจ เจชเจนเจฟเจฒเฉ เจ เฉฐเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ - GITHUB_SHA เจเฉฑเจฅเฉ เจตเฉ เจธเฉเจเจฎเจคเจพเจตเจพเจ เจนเจจ, เจเฉเจเจฐ เจคเฉเจธเฉเจ เจ เจเจฟเจนเฉ เจฌเจฟเจฒเจกเจพเจ เจจเฉเฉฐ เจจเจพ เจธเจฟเจฐเจซเจผ เจฎเจพเจธเจเจฐ เจตเจฟเฉฑเจ เจ เจญเฉเจฆ เจนเฉเจฃ 'เจคเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ, เจฌเจฒเจเจฟ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฐเจเจจเจพ เจฆเฉ เจ เจจเฉเจธเจพเจฐ เจตเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ. เจเจตเฉเจเจ, เจคเจพเจ SHA เจเจธ เจนเฉเจธเจผ เจจเจพเจฒ เจฎเฉเจฒ เจจเจนเฉเจ เจเจพเจเจฆเจพ เจเฉ เจ เจธเฉเจ เจเจฟเฉฑเจ เจเจคเจฟเจนเจพเจธ เจตเจฟเฉฑเจ เจตเฉเจเจฆเฉ เจนเจพเจ, เจเจฟเจเจเจเจฟ เจเจเจธเจผเจจ/เจเฉเฉฑเจเจเจเจ เจเจเจธเจผเจจ PR เจตเจฟเฉฑเจ เจกเฉเฉฑเจกเจฒเจพเจ เจเจฐเจจ เจตเจพเจฒเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจคเฉเจ เจฌเจเจฃ เจฒเจ เจเจชเจฃเฉ เจตเจฟเจฒเฉฑเจเจฃ เจนเฉเจธเจผ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค
เจเฉ เจธเจญ เจเฉเจ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจคเจพเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจชเฉเจเฉเจ เจญเจพเจ (https://github.com/antkorwin/github-actions/packages) เจเฉเจฒเฉเจนเจฃ เจจเจพเจฒ, เจคเฉเจธเฉเจ เจเฉฑเจ เจจเจตเฉเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจตเฉเจเฉเจเฉ:
เจเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจธเฉเจเฉ เจตเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ.
เจเจธ เจฐเจเจฟเจธเจเจฐเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจธเจพเจกเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจเจพ เจ เจคเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจเจพ เจฌเจพเจเฉ เจนเฉเฅค เจฎเฉเจ เจธเจผเจพเจเจฆ เจเจธ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเจพ เจเจฟ เจเจน เจเจฟเจธเฉ เจนเฉเจฐ เจธเจฎเฉเจ เจธเจฟเจธเจเจฎเจก เจฆเฉเจเจฐเจพ เจเจฟเจตเฉเจ เจเจฐเจจเจพ เจนเฉ.
เจจเจฟเจเจฐเจพเจจเฉ
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 * * * *'
เจเจน เจธเจงเจพเจฐเจจ เจนเฉ, เจฎเฉเจ เจเจน เจตเฉ เจตเจฟเจธเจผเจตเจพเจธ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเจพ เจเจฟ เจเจฟเจฅเจฌ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเจตเฉเจเจเจธ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจเฉ เจตเฉเจฌเจนเฉเฉฑเจ เจตเจฟเฉฑเจ เจฌเจฟเจฒเจเฉเจฒ เจตเฉ เจซเจฟเฉฑเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ. เจตเฉเจฐเจตเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจตเจฟเฉฑเจ เจนเจจ:
เจเจ เจเจฐเจฒ เจฆเฉเจเจฐเจพ เจธเจฐเจตเจฐ เจธเจฅเจฟเจคเฉ เจฆเฉ เจเฉเจฆ เจเจพเจเจ เจเจฐเฉเจ:
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"
เจชเจนเจฟเจฒเจพเจ, เจ เจธเฉเจ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจธเฉเจต เจเจฐเจฆเฉ เจนเจพเจ เจเฉ เจธเจฐเจตเจฐ เจจเฉ เจฌเฉเจจเจคเฉ เจฆเจพ เจเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ, เจ เจเจฒเฉ เจชเฉเจพเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจธเจฅเจฟเจคเฉ UP เจนเฉ เจ เจคเฉ, เจเฉเจเจฐ เจ เจเจฟเจนเจพ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ เจเฉฑเจ เจเจฒเจคเฉ เจจเจพเจฒ เจฌเจพเจนเจฐ เจ เจเจพเจเจฆเฉ เจนเจพเจเฅค เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฃเฉ เจนเฉฑเจฅเจพเจ เจจเจพเจฒ เจเจฟเจธเฉ เจเจพเจฐเจตเจพเจ เจจเฉเฉฐ "เจนเจพเจตเฉ" เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจคเจพเจ เจฌเฉฐเจฆ เจเจฐเฉ 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 }}
เจ
เจธเฉเจ เจธเจฟเจฐเจซ เจคเจพเจ เจนเฉ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ 'เจคเฉ เจญเฉเจเจฆเฉ เจนเจพเจ เจเฉเจเจฐ เจชเจฟเจเจฒเฉ เจชเฉเจพเจ
'เจคเฉ เจเจพเจฐเจตเจพเจ เจ
เจธเจซเจฒ เจนเฉเจเฅค เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจญเฉเจเจฃ เจฒเจ เจ
เจธเฉเจ เจเจชเจฒเจฌเฉเจ/เจเฉเจฒเฉเจเฉเจฐเจพเจฎ-เจเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ; เจคเฉเจธเฉเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจตเจฟเฉฑเจ เจฌเฉเจ เจเฉเจเจจ เจ
เจคเฉ เจเฉเจ เจเจเจกเฉ เจเจฟเจตเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเฉเจ เจฌเจพเจฐเฉ เจชเฉเฉเจน เจธเจเจฆเฉ เจนเฉ:
Github 'เจคเฉ เจญเฉเจฆ เจฒเจฟเจเจฃเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ: เจธเจฐเจตเจฐ เจฒเจ URL เจ เจคเฉ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเฉเจ เจฒเจ เจเฉเจเจจเฅค
เจฌเฉเจจเจธ เจเจฐเฉเจ - เจเจฒเจธเฉ เจฒเจ JIRA
เจฎเฉเจ เจตเจพเจ เจฆเจพ เจเฉเจคเจพ เจธเฉ เจเจฟ เจ เจธเฉเจ เจเฉเจฐเจพ เจตเจพเจชเจธ เจเจตเจพเจเจเฉ, เจ เจคเฉ เจ เจธเฉเจ เจตเจพเจชเจธ เจ เจเจ เจนเจพเจ. เจธเฉเจเจเฉเฉ เจตเจพเจฐ เจฎเฉเจ เจธเจเฉเจเจก-เจ เจช 'เจคเฉ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจฆเฉเจเจฟเจ เจนเฉ เจเจฆเฉเจ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจจเฉ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฌเจฃเจพเจ, เจเฉฑเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจ, เจชเจฐ เจฎเฉเฉฑเจฆเฉ เจจเฉเฉฐ JIRA เจตเจฟเฉฑเจ เจเจฟเฉฑเจเจฃเจพ เจญเฉเฉฑเจฒ เจเจฟเจ. เจฌเฉเจธเจผเฉฑเจ, เจเฉเจเจฐ เจเจน เจธเจญ เจเฉฑเจ เจฅเจพเจ 'เจคเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ, เจคเจพเจ เจเจน เจธเฉเจเจพ เจนเฉเฉฐเจฆเจพ, เจชเจฐ เจ เจธเจฒ เจตเจฟเฉฑเจ เจ เจธเฉเจ IDE เจตเจฟเฉฑเจ เจเฉเจก เจฒเจฟเจเจฆเฉ เจนเจพเจ, เจธเจผเจพเจเจพเจตเจพเจ เจจเฉเฉฐ เจฌเจฟเฉฑเจเจฌเจเฉเจ เจเจพเจ เจเจฟเจเจนเฉฑเจฌ เจตเจฟเฉฑเจ เจฎเจฟเจฒเจพเจเจเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจซเจฟเจฐ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเฉเจฐเจพ เจตเจฟเฉฑเจ เจเจฟเฉฑเจเจฆเฉ เจนเจพเจ, เจเจธเจฆเฉ เจฒเจ เจธเจพเจจเฉเฉฐ เจจเจตเฉเจเจ เจตเจฟเฉฐเจกเฉเจเจผ เจเฉเจฒเฉเจนเจฃเฉเจเจ เจชเฉเจฃเจเฉเจเจเฅค , เจเจ เจตเจพเจฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจพเจเจเจจ เจเจฐเฉ เจ เจคเฉ เจเจฆเจฟเฅค เจเจฆเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฏเจพเจฆ เจนเฉ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจ เฉฑเจเฉ เจเฉ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ, เจคเจพเจ เจฌเฉเจฐเจก เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจเฉเจฒเฉเจนเจฃ เจฆเจพ เจเฉเจ เจฎเจคเจฒเจฌ เจจเจนเฉเจ เจนเฉเฅค เจจเจคเฉเจเฉ เจตเจเฉเจ, เจธเจตเฉเจฐเฉ เจธเจเฉเจเจกเจ เฉฑเจช 'เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจธเจ เจฌเฉเจฐเจก เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจ เจฒเจ เจธเจฎเจพเจ เจฌเจฟเจคเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
GitHub เจเจธ เจฐเฉเจเฉเจจ เจเฉฐเจฎ เจตเจฟเฉฑเจ เจตเฉ เจธเจพเจกเฉ เจฎเจฆเจฆ เจเจฐเฉเจเจพ; เจธเจผเฉเจฐเฉเจเจค เจเจฐเจจ เจตเจพเจฒเจฟเจเจ เจฒเจ, เจเจฆเฉเจ เจ เจธเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจเจฎเฉเจนเจพเจ เจเจฐเจฆเฉ เจนเจพเจ เจคเจพเจ เจ เจธเฉเจ เจเจชเจฃเฉ เจเจช เจนเฉ เจฎเฉเฉฑเจฆเจฟเจเจ เจจเฉเฉฐ เจเฉเจก_เจฐเฉเจตเจฟเจ เจเจพเจฒเจฎ เจตเจฟเฉฑเจ เจเจฟเฉฑเจ เจธเจเจฆเฉ เจนเจพเจเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจฌเจธ เจธเจผเจพเจเจพ เจฆเฉ เจจเจพเจฎเจเจฐเจจ เจธเฉฐเจฎเฉเจฒเจจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
[ะธะผั ะฟัะพะตะบัะฐ]-[ะฝะพะผะตั ัะฐัะบะฐ]-ะฝะฐะทะฒะฐะฝะธะต
เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจเจฐ เจชเฉเจฐเฉเจเฉเจเจ เจเฉเฉฐเจเฉ "GitHub เจเจเจธเจผเจจ" GA เจนเฉ, เจคเจพเจ GA-8-jira-bot
GA-8 เจเจพเจธเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเจผเจพเจเจพ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค
JIRA เจจเจพเจฒ เจเจเฉเจเจฐเจฃ เจเจเจฒเจธเฉเจ เจจ เจฆเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจฆเฉเจเจฐเจพ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจเจน เจธเฉฐเจชเฉเจฐเจจ เจจเจนเฉเจ เจนเจจ, เจฎเฉเจจเฉเฉฐ เจเจน เจเจนเจฟเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจจเฉ เจฎเฉเจฐเฉ เจฒเจ เจฌเจฟเจฒเจเฉเจฒ เจเฉฐเจฎ เจจเจนเฉเจ เจเฉเจคเจพ. เจชเจฐ เจ เจธเฉเจ เจธเจฟเจฐเจซ เจเจนเจจเจพเจ เจฌเจพเจฐเฉ เจนเฉ เจเจฐเจเจพ เจเจฐเจพเจเจเฉ เจเฉ เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจ เจ เจคเฉ เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจจ.
เจชเจนเจฟเจฒเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ 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 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจนเฉ เจเฉฑเจฒ เจฒเจฟเจเจฃเฉ เจชเจ, เจเจฟเจเจเจเจฟ เจเจเจฒเจธเฉเจ เจจ เจฆเฉ เจเจน เจเจพเจฐเจตเจพเจ เจเจฟเจธเฉ เจตเฉ เจคเจฐเฉเจนเจพเจ เจฎเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ 'เจคเฉ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจธเฉเฅค , เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฒเจ เจเจฟ เจเฉฑเจฅเฉ เจเฉ เจเจฒเจค เจธเฉ - เจเจชเจฃเฉ เจนเฉฑเจฅเจพเจ เจจเจพเจฒ เจเจนเฉ เจเฉฐเจฎ เจเจฐเจจ เจจเจพเจฒเฉเจ เจฒเฉฐเจฌเจพเฅค
เจเฉฑเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ เจเฉฐเจฎ เจจเฉเฉฐ "เจเฉเจก เจธเจฎเฉเจเจฟเจ" เจเจพเจฒเจฎ เจตเจฟเฉฑเจ เจฒเจฟเจเจพเจฃเจพ เจฌเจพเจเฉ เจนเฉ:
- name: Transition issue
if: ${{ success() }}
uses: atlassian/gajira-transition@master
with:
issue: ${{ steps.find_issue.outputs.ISSUE_ID }}
transition: "Code review"
GitHub 'เจคเฉ เจเจธเจฆเฉ เจฒเจ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจเจพเจฐเจตเจพเจ เจนเฉ, เจเจธเจฆเฉ เจฒเฉเฉ เจธเจฟเจฐเจซเจผ เจชเจฟเจเจฒเฉ เจชเฉเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจเจ เจฎเฉเฉฑเจฆเจพ ID เจ เจคเฉ JIRA เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจนเฉ เจเฉ เจ เจธเฉเจ เจเฉฑเจชเจฐ เจเฉเจคเจพ เจนเฉเฅค
เจเจธเฉ เจคเจฐเฉเจนเจพเจ, เจคเฉเจธเฉเจ เจฎเจพเจธเจเจฐ เจตเจฟเฉฑเจ เจ เจญเฉเจฆ เจนเฉเจฃ เจตเฉเจฒเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเจฟเฉฑเจ เจธเจเจฆเฉ เจนเฉ, เจ เจคเฉ GitHub เจตเจฐเจเจซเจฒเฉ เจคเฉเจ เจนเฉเจฐ เจเจตเฉเจเจเจธเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจน เจธเจญ เจคเฉเจนเจพเจกเฉ เจเจฒเจชเจจเจพ เจ เจคเฉ เจฐเฉเจเฉเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจเจฐเจจ เจฆเฉ เจเฉฑเจเจพ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ.
เจธเจฟเฉฑเจเจพ
เจเฉ เจคเฉเจธเฉเจ เจเจฒเจพเจธเจฟเจ DEVOPS เจกเจพเจเจเฉเจฐเจพเจฎ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉ, เจ เจธเฉเจ เจธเจพเจฐเฉ เจชเฉเจพเจตเจพเจ เจจเฉเฉฐ เจเจตเจฐ เจเฉเจคเจพ เจนเฉ, เจธเจผเจพเจเจฆ เจธเฉฐเจเจพเจฒเจจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ, เจฎเฉเจจเฉเฉฐ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจนเฉเจฒเจช-เจกเฉเจธเจ เจธเจฟเจธเจเจฎ เจจเจพเจฒ เจเจเฉเจเจฐเจฃ เจฒเจ เจฎเจพเจฐเจเฉเจ เจตเจฟเฉฑเจ เจเฉเจ เจเจพเจฐเจตเจพเจ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจ เจธเฉเจ เจเจน เจฎเฉฐเจจเจพเจเจเฉ เจเจฟ เจชเจพเจเจชเจฒเจพเจเจจ เจฌเจฆเจฒ เจเจ เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจ เจคเฉ เจธเจฟเฉฑเจเฉ เจเฉฑเจขเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค
เจชเฉเจฐเฉ:
- เจธเจพเจฐเฉ เจฎเฉเจเจฟเจเจ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจตเจพเจฒเจพ เจฌเจพเจเจผเจพเจฐ, เจเจน เจฌเจนเฉเจค เจตเจงเฉเจ เจนเฉเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเจผเจฟเจเจฆเจพเจคเจฐ เจตเจฟเฉฑเจ, เจคเฉเจธเฉเจ เจเจน เจธเจฎเจเจฃ เจฒเจ เจธเจฐเฉเจค เจเฉเจก เจจเฉเฉฐ เจตเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเฉฑเจ เจธเจฎเจพเจจ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจนเฉฑเจฒ เจเจฐเจจเจพ เจนเฉ เจเจพเจ GitHub เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจธเจฟเฉฑเจงเฉ เจฒเฉเจเจ เจจเฉเฉฐ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฌเฉเจจเจคเฉ เจชเฉเจธเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
- เจ เจธเฉเจเจฌเจฒเฉ เจฒเจ เจเฉเจเจพ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฆเฉ เจเฉเจฃ เจเจฐเจจเจพ: เจฒเฉเจจเจเจธ, เจฎเฉเจ เจเจเจธ, เจตเจฟเฉฐเจกเฉเจเจผ เจเจพเจซเจผเฉ เจฆเจฟเจฒเจเจธเจช เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจนเฉเฅค
- เจเจฟเจฅเจฌ เจชเฉเจเฉเจ เจเฉฑเจ เจตเจงเฉเจ เจเฉเจเจผ เจนเฉ, เจชเฉเจฐเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจจเฉเฉฐ เจเฉฑเจ เจฅเจพเจ 'เจคเฉ เจฐเฉฑเจเจฃเจพ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเฉฐเจกเฉเจเจผ เจฐเจพเจนเฉเจ เจธเจฐเจซ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจนเจฐ เจเฉเจเจผ เจเฉฑเจ เจเจพเจ เจฆเฉ เจฎเจพเจเจธ เจเจฒเจฟเฉฑเจเจพเจ เจฆเฉ เจเฉเจฐเฉ เจตเจฟเฉฑเจ เจนเฉ เจ เจคเฉ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจจเจพเจฒ เจเจฟเฉฑเจเจนเจฌ เจเจเจธเจผเจจเจเจผ เจจเจพเจฒ เจเจเฉเจเฉเจฐเจฟเจค เจนเฉเฅค เจฎเฉเจซเจค เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจกเฉเจเจฐ เจฐเจเจฟเจธเจเจฐเฉ เจธเจนเจพเจเจคเจพ เจตเฉ เจเฉฑเจ เจเฉฐเจเจพ เจซเจพเจเจฆเจพ เจนเฉเฅค
- GitHub เจฌเจฟเจฒเจก เจฒเฉเจเจธ เจตเจฟเฉฑเจ เจญเฉเจฆ เจฒเฉเจเจพเจเจเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจชเจพเจธเจตเจฐเจก เจ เจคเฉ เจเฉเจเจจเจพเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจเจธเจฆเจพ เจเจชเจฏเฉเจ เจเจฐเจจเจพ เจเฉฐเจจเจพ เจกเจฐเจพเจเจฃเจพ เจจเจนเฉเจ เจนเฉเฅค เจฎเฉเจฐเฉ เจธเจพเจฐเฉ เจชเฉเจฐเจฏเฉเจเจพเจ เจฆเฉ เจฆเฉเจฐเจพเจจ, เจฎเฉเจ เจเจฆเฉ เจตเฉ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจเจธเจฆเฉ เจธเจผเฉเฉฑเจง เจฐเฉเจช เจตเจฟเฉฑเจ เจฐเจพเจเจผ เจจเฉเฉฐ เจตเฉเจเจฃ เจฆเฉ เจฏเฉเจ เจจเจนเฉเจ เจธเฉ.
- เจเจชเจจ เจธเฉเจฐเจธ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจฒเจ เจฎเฉเจซเจผเจค
เจจเฉเจเจธเจพเจจ:
- YML, เจ เฉเจ เจนเฉ, เจฎเฉเจ เจเจธเจจเฉเฉฐ เจชเจธเฉฐเจฆ เจจเจนเฉเจ เจเจฐเจฆเจพ. เจ เจเจฟเจนเฉ เจชเฉเจฐเจตเจพเจน เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจฎเฉเจฐเฉ เจเฉเจฒ เจธเจญ เจคเฉเจ เจเจฎ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจธเฉฐเจฆเฉเจธเจผ เจนเฉ "เจซเจฟเจเจธ yml เจซเจพเจฐเจฎเฉเจ", เจซเจฟเจฐ เจคเฉเจธเฉเจ เจเจฟเจคเฉ เจเฉเจฌ เจฒเจเจพเจเจฃเจพ เจญเฉเฉฑเจฒ เจเจพเจเจฆเฉ เจนเฉ, เจเจพเจ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจเจฒเจค เจฒเจพเจเจจ 'เจคเฉ เจฒเจฟเจเจฆเฉ เจนเฉ. เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจเจฐ เจ เจคเฉ เจธเจผเจพเจธเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจเฉเจฐเฉเจจ เจฆเฉ เจธเจพเจนเจฎเจฃเฉ เจฌเฉเจ เจฃเจพ เจธเจญ เจคเฉเจ เจธเฉเจนเจพเจตเจฃเจพ เจ เจจเฉเจญเจต เจจเจนเฉเจ เจนเฉ.
- เจกเฉเจฌเฉฑเจ, เจเจฎเจฟเจ เจฆเฉ เจจเจพเจฒ เจตเจนเจพเจ เจจเฉเฉฐ เจกเฉเจฌเฉฑเจ เจเจฐเจจเจพ, เจฐเฉเจฌเจฟเจฒเจก เจเจฒเจพเจเจฃเจพ, เจ เจคเฉ เจเฉฐเจธเฉเจฒ เจจเฉเฉฐ เจเจเจเจชเฉเฉฑเจ เจเจฐเจจเจพ เจนเจฎเฉเจธเจผเจพ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจชเจฐ เจเจน "เจคเฉเจธเฉเจ เจเจตเจฐเจกเฉเจจ เจนเฉ" เจธเจผเฉเจฐเฉเจฃเฉ เจคเฉเจ เจตเฉฑเจง เจนเฉ; เจคเฉเจธเฉเจ เจธเฉเจตเจฟเจงเจพเจเจจเจ IDEA เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจเจฆเฉ เจนเฉ, เจเจฆเฉเจ เจคเฉเจธเฉเจ เจเฉเจ เจตเฉ เจกเฉเจฌเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ .
- เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจเจพเจฐเจตเจพเจ เจจเฉเฉฐ เจเจฟเจธเฉ เจตเฉ เจเฉเจเจผ 'เจคเฉ เจฒเจฟเจ เจธเจเจฆเฉ เจนเฉ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจกเฉเจเจฐ เจตเจฟเฉฑเจ เจฒเจชเฉเจเจฆเฉ เจนเฉ, เจชเจฐ เจธเจฟเจฐเจซ เจเจพเจตเจพเจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเจฎเจฐเจฅเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจฌเฉเจธเจผเจ เจเจน เจธเจตเจพเจฆ เจฆเฉ เจเฉฑเจฒ เจนเฉ, เจชเจฐ เจฎเฉเจ js เจฆเฉ เจฌเจเจพเจ เจเจฟเจธเฉ เจนเฉเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจคเจฐเจเฉเจน เจฆเฉเจตเจพเจเจเจพ.
เจฎเฉเจจเฉเฉฐ เจคเฉเจนเจพเจจเฉเฉฐ เจฏเจพเจฆ เจฆเจฟเจตเจพเจเจฃ เจฆเจฟเจ เจเจฟ เจธเจพเจฐเฉเจเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจตเจพเจฒเจพ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉฑเจฅเฉ เจนเฉ:
เจ เจเจฒเฉ เจนเจซเจคเฉ เจฎเฉเจ เจจเจพเจฒ เจชเจฐเจซเจพเจฐเจฎ เจเจฐเจพเจเจเจพ
เจฐเจฟเจชเฉเจฐเจ Heisenbug 2020 Piter เจเจพเจจเจซเจฐเฉฐเจธ เจตเจฟเฉฑเจเฅค เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจจเจนเฉเจ เจฆเฉฑเจธเจพเจเจเจพ เจเจฟ เจเฉเจธเจ เจกเฉเจเจพ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจเจฒเจคเฉเจเจ เจคเฉเจ เจเจฟเจตเฉเจ เจฌเจเจฃเจพ เจนเฉ, เจฌเจฒเจเจฟ Java เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจธเฉเฉฑเจเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจฎเฉเจฐเฉ เจฐเจพเจเจผ เจตเฉ เจธเจพเจเจเฉ เจเจฐเจพเจเจเจพ!
เจธเจฐเฉเจค: www.habr.com