เจเจพเจ เจเจธเจพเจจ เจเฉเจกเจฟเฉฐเจ เจฆเฉ เจเฉฑเจ เจธเจผเจพเจฎ เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจธเฉเฉฐเจฆเจฐ เจฌเฉเจ เจเจฟเจตเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเฉเจ
เจธเฉฐเจญเจต เจคเฉเจฐ 'เจคเฉ, เจนเจฐเฉเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจเจฟเจธ เจเฉเจฒ เจเจฟเจธเฉ เจธเจฎเฉเจ เจเฉฑเจเฉ เจเฉฑเจ เจเฉฑเจ เจชเจพเจฒเจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจนเฉ, เจจเฉเฉฐ เจธเจฅเจฟเจคเฉเจเจ, เจเฉเจก เจเจตเจฐเฉเจ, เจจเจเฉเจ เจตเจฟเฉฑเจ เจชเฉเจเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจจเจพเจฒ เจธเฉเฉฐเจฆเจฐ เจฌเฉเจเจพเจ เจฌเจพเจฐเฉ เจเฉเจเจฒเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ ... เจ เจคเฉ เจเจธ เจเจพเจฐเจธเจผ เจจเฉ เจฎเฉเจจเฉเฉฐ เจเจน เจฒเฉเจ เจฒเจฟเจเจฃ เจฒเจ เจ เจเจตเจพเจ เจเฉเจคเฉ. เจเจธเจจเฉเฉฐ เจฒเจฟเจเจฃ เจฆเฉ เจคเจฟเจเจฐเฉ เจตเจฟเฉฑเจ, เจฎเฉเจจเฉเฉฐ เจเจน เจธเฉเฉฐเจฆเจฐเจคเจพ เจฎเฉเจฐเฉ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจฎเจฟเจฒเฉ:
เจเจน เจฒเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ GitLab เจตเจฟเฉฑเจ เจเฉฑเจ .Net เจเฉเจฐ เจเจฒเจพเจธ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจ เจคเฉ เจกเจฟเจฒเฉเจตเจฐเฉ เจฆเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจธเฉเจเจ เจช, GitLab เจชเฉฐเจจเจฟเจเจ 'เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจชเฉเจฐเจเจพเจธเจผเจค เจเจฐเจจ, เจ เจคเฉ Azure DevOps เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจฟเฉฑเจเฉ เจซเฉเจก เจตเจฟเฉฑเจ เจฌเจฟเจฒเจ เจชเฉเจเฉเจเจพเจ เจจเฉเฉฐ เจงเฉฑเจเจฃ เจฆเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจธเฉเจเจ เจช เจฌเจพเจฐเฉ เจฆเฉฑเจธเฉเจเจพเฅค
VS เจเฉเจก เจจเฉเฉฐ เจเจเจธเจเฉเจเจธเจผเจจ เจฆเฉ เจจเจพเจฒ เจตเจฟเจเจพเจธ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจฟเจ เจธเฉ
เจธเฉฐเจเฉเจช เจเจพเจฃ เจชเจเจพเจฃ
เจธเฉเจกเฉ - เจเฉ เจเจน เจเจฆเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจนเฉเจฃเฉ เจงเฉฑเจเจพ เจเฉเจคเจพ เจนเฉ, เจ เจคเฉ เจธเจญ เจเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจฒเจพเจเฉฐเจ 'เจคเฉ เจกเจฟเฉฑเจ เจเจฟเจ เจนเฉ?
CI/CD เจเฉ เจนเฉ เจ
เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธเจฆเฉ เจฒเฉเฉ เจเจฟเจเจ เจนเฉ - เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจเจธเจพเจจเฉ เจจเจพเจฒ เจเฉเจเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค GitLab เจตเจฟเฉฑเจ เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเจจ เจฌเจพเจฐเฉ เจชเฉเจฐเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจฒเฉฑเจญเฉ
- เจกเจฟเจตเฉเจฒเจชเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเฉฑเจ เจตเจเจจเจฌเฉฑเจงเจคเจพ เจญเฉเจเจฆเจพ เจนเฉ, เจธเจพเจเจ เจฆเฉเจเจฐเจพ เจเฉฑเจ เจ เจญเฉเจฆ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจเจพเจ เจเจฟเจธเฉ เจนเฉเจฐ เจคเจฐเฉเจเฉ เจจเจพเจฒ, เจธเจชเฉฑเจธเจผเจ เจเจพเจ เจ เจชเฉเจฐเจคเฉฑเจ เจคเฉเจฐ 'เจคเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจธเจผเฉเจฐเฉ เจเจฐเจฆเจพ เจนเฉ,
- เจธเจพเจฐเฉ เจเจพเจฐเจ เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจเฉเจฃเฉ เจเจ เจนเจจ, เจเจฟเจธ เจฆเฉเจเจ เจธเจผเจฐเจคเจพเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจฆเจฟเฉฑเจคเฉ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจ เจฒเจพเจเจ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเฉเจเจ เจนเจจ,
- เจเจพเจฐเจ เจเจนเจจเจพเจ เจฆเฉ เจชเฉเจพเจตเจพเจ เจฆเฉ เจ เจจเฉเจธเจพเจฐ เจเจฏเฉเจเจฟเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ,
- เจชเฉเจพเจ เจฌเจฆเจฒเฉ เจตเจฟเฉฑเจ เจเจฒเจพเจ เจเจพเจเจฆเฉ เจนเจจ - เจ เจฐเจฅเจพเจค เจธเจฎเจพเจจเจพเจเจคเจฐ เจเจธ เจชเฉเจพเจ เจฆเฉ เจธเจพเจฐเฉ เจเฉฐเจฎ เจชเฉเจฐเฉ เจนเฉ เจเจ เจนเจจ,
- เจเฉ เจธเจเฉเจ เจซเฉเจฒ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ (เจ เจฐเจฅเจพเจค, เจธเจเฉเจ เจฆเจพ เจเฉฑเจเฉ เจเฉฑเจ เจเฉฑเจ เจเฉฐเจฎ เจ เจธเจซเจฒ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ), เจชเจพเจเจชเจฒเจพเจเจจ เจฐเฉเจ เจเจพเจเจฆเฉ เจนเฉ (เจฒเจเจญเจ เจนเจฎเฉเจธเจผเจพ),
- เจเฉเจเจฐ เจธเจพเจฐเฉ เจชเฉเจพเจ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจชเฉเจฐเฉ เจนเฉ เจเจพเจเจฆเฉ เจนเจจ, เจคเจพเจ เจชเจพเจเจชเจฒเจพเจเจจ เจจเฉเฉฐ เจธเจซเจฒ เจฎเฉฐเจจเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจธ เจคเจฐเฉเจนเจพเจ, เจธเจพเจกเฉ เจเฉเจฒ เจนเฉ:
- เจชเจพเจเจชเจฒเจพเจเจจ - เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจ เจธเฉฐเจเจ เจฟเจค เจเจพเจฐเจเจพเจ เจฆเจพ เจเฉฑเจ เจธเจฎเฉเจน เจเจฟเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจฌเจฟเจฒเจก เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเฉเจธเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจชเฉเจเฉเจ เจเฉเจก เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเฉฑเจ เจเจฒเจพเจเจก เจธเฉเจตเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเฉเจเฉฐเจฎเจฒ เจฌเจฟเจฒเจก เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเจฆเจฟ,
- เจชเฉเจพเจ (เจชเฉเจพเจ ) โ เจชเจพเจเจชเจฒเจพเจเจจ เจธเฉฐเจเจ เจจ เจฏเฉเจจเจฟเจ, 1+ เจเจพเจธเจ เจฐเฉฑเจเจฆเจพ เจนเฉ,
- เจเฉฐเจฎ (เจ เฉฑเจฏเฉเจฌ) เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจฆเฉ เจเฉฑเจ เจเจเจพเจ เจนเฉเฅค เจเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ (เจฒเจพเจเจผเจฎเฉ), เจฒเจพเจเจ เจธเจผเจฐเจคเจพเจ, เจชเฉเจฐเจเจพเจธเจผเจจ/เจเฉเจธเจผเจฟเฉฐเจ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจ เจคเฉ เจนเฉเจฐ เจฌเจนเฉเจค เจเฉเจ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจเจธ เจ เจจเฉเจธเจพเจฐ, เจธเฉเจเจ / เจธเฉเจกเฉ เจธเจฅเจพเจชเจค เจเจฐเจจ เจตเฉเจฒเฉ เจเจพเจฐเจเจพเจ เจฆเจพ เจเฉฑเจ เจธเจฎเฉเจน เจฌเจฃเจพเจเจฃ เจฒเจ เจนเฉเจ เจพเจ เจเจเจเจฆเจพ เจนเฉ เจเฉ เจเฉเจก เจ เจคเฉ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจจเฉเฉฐ เจฌเจฃเจพเจเจฃ, เจเฉเจธเจ เจเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจค เจเจฐเจจ เจฒเจ เจธเจพเจฐเฉเจเจ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ: เจเจฟเจเจ?
- Gitlab เจเจฟเจเจ?
เจเจฟเจเจเจเจฟ เจเจฆเฉเจ เจชเจพเจฒเจคเฉ เจเจพเจจเจตเจฐเจพเจ เจฆเฉ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจฒเจ เจชเฉเจฐเจพเจเจตเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฌเจฃเจพเจเจฃเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉ เจเจฟเจ เจธเฉ, เจคเจพเจ เจเจนเจจเจพเจ เจจเฉเฉฐ GitHub 'เจคเฉ เจญเฉเจเจคเจพเจจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจ เจคเฉ เจฎเฉเจ เจฒเจพเจฒเจเฉ เจธเฉ. เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฎเฉเจซเจค เจนเฉ เจเจเจเจ เจนเจจ, เจชเจฐ เจนเฉเจฃ เจคเฉฑเจ เจเจน เจฎเฉเจฐเฉ เจฒเจ เจเจฟเจเจนเจฌ เจตเจฟเฉฑเจ เจเจพเจฃ เจฆเจพ เจเจพเจซเจผเฉ เจเจพเจฐเจจ เจจเจนเฉเจ เจนเฉเฅค
- Azure DevOps เจชเจพเจเจชเจฒเจพเจเจจเจพเจ เจเจฟเจเจ เจจเจนเฉเจ?
เจเจฟเจเจเจเจฟ เจเฉฑเจฅเฉ เจธเฉเจเจฟเฉฐเจ เจเจฒเฉเจฎเฉเจเจเจฐเฉ เจนเฉ - เจเจฎเจพเจเจก เจฒเจพเจเจจ เจฆเฉ เจเจฟเจเจจ เจฆเฉ เจตเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจฌเจพเจนเจฐเฉ เจเจฟเฉฑเจ เจชเฉเจฐเจฆเจพเจคเจพเจตเจพเจ เจจเจพเจฒ เจเจเฉเจเจฐเจฃ - เจเฉเจ เจเจฒเจฟเฉฑเจเจพเจ เจตเจฟเฉฑเจ, เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจฎเจฟเจ เจญเฉเจเจฃ เจฒเจ SSH เจเฉเฉฐเจเฉเจเจ เจฆเจพ เจเจฏเจพเจค - เจตเฉ, เจชเจพเจเจชเจฒเจพเจเจจ เจจเฉเฉฐ เจเจธเจพเจจเฉ เจจเจพเจฒ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจญเจพเจตเฉเจ เจเจฟ เจเฉเจเจชเจฒเฉเจ เจคเฉเจ เจจเจนเฉเจเฅค
เจธเจผเฉเจฐเฉเจเจคเฉ เจธเจฅเจฟเจคเฉ: เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉ เจนเฉ เจ เจคเฉ เจคเฉเจธเฉเจ เจเฉ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ
เจธเจพเจกเฉ เจเฉเจฒ:
- GitLab เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ.
เจ เจธเฉเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ:
- เจนเจฐเฉเจ เจ เจญเฉเจฆ เจฆเฉ เจฌเฉเจจเจคเฉ เจฒเจ เจเจเฉเจฎเฉเจเจฟเจ เจ เจธเฉเจเจฌเจฒเฉ เจ เจคเฉ เจเฉเจธเจเจฟเฉฐเจ,
- เจนเจฐเฉเจ เจตเจฟเจฒเฉเจจ เจฌเฉเจจเจคเฉ เจฒเจ เจชเฉเจเฉเจ เจฌเจฃเจพเจเจฃเจพ เจ เจคเฉ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจงเฉฑเจเจฃเจพ, เจฌเจธเจผเจฐเจคเฉ เจเจฟ เจเจฎเจฟเจ เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจธ เจฒเจพเจเจจ เจนเฉเจตเฉ,
- Azure DevOps เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเจพเจเจตเฉเจ เจซเฉเจก เจจเฉเฉฐ เจฌเจฟเจฒเจ เจชเฉเจเฉเจ เจญเฉเจเจฃเจพ,
- GitLab เจชเฉฐเจจเจฟเจเจ เจตเจฟเฉฑเจ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจจ เจฆเฉ เจ เจธเฉเจเจฌเจฒเฉ,
- เจฌเฉเจ!11
เจตเจฐเจฃเจฟเจค เจฒเฉเฉเจพเจ เจเจฐเจเฉเจจเจฟเจ เจคเฉเจฐ 'เจคเฉ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจฎเจพเจกเจฒ 'เจคเฉ เจเจเจเจฆเฉเจเจ เจนเจจ:
- เจชเฉเจพเจ
1 - เจ
เจธเฉเจเจฌเจฒเฉ
- เจ เจธเฉเจ เจเฉเจก เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจฆเฉ เจนเจพเจ, เจเจเจเจชเฉเฉฑเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ
- เจชเฉเจพเจ
2 - เจเฉเจธเจเจฟเฉฐเจ
- เจ เจธเฉเจ เจฌเจฟเจฒเจก เจธเจเฉเจ เจคเฉเจ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ, เจเฉเจธเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ, เจเฉเจก เจเจตเจฐเฉเจ เจกเฉเจเจพ เจเจเฉฑเจ เจพ เจเจฐเจฆเฉ เจนเจพเจ
- เจชเฉเจพเจ
3 - เจเจฎเฉเจนเจพเจ เจเจฐเฉ
- เจเจพเจธเจ 1 - เจจเฉเจเฉเจ เจชเฉเจเฉเจ เจฌเจฃเจพเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ Azure DevOps เจจเฉเฉฐ เจญเฉเจเฉ
- เจเจพเจธเจ 2 - เจ เจธเฉเจ เจธเจพเจเจ เจจเฉเฉฐ เจธเจฐเฉเจค เจเฉเจก เจตเจฟเฉฑเจ xmldoc เจคเฉเจ เจเจเฉฑเจคเจฐ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ GitLab เจชเฉฐเจจเจฟเจเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ
เจเจ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ!
เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ
เจเจพเจคเฉ เจคเจฟเจเจฐ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
-
เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจคเจพ เจฌเจฃเจพเจ
เจฎเจพเจเจเจฐเฉเจธเจพเจซเจ เจ เจเจผเฉเจฐ -
เจตเฉฑเจฒ เจเจพ
Azure DevOps -
เจ เจธเฉเจ เจเฉฑเจ เจจเจตเจพเจ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ
- เจจเจพเจฎ - เจเฉเจ เจตเฉ
- เจฆเจฟเฉฑเจ - เจเฉเจ เจตเฉ
-
เจเจฆเฉเจ เจคเฉเจธเฉเจ เจฌเจฃเจพเจ เจฌเจเจจ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพเจเจ เจเจพเจตเฉเจเจพ เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธเจฆเฉ เจชเฉฐเจจเฉ 'เจคเฉ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจเจธ เจชเฉฐเจจเฉ 'เจคเฉ, เจคเฉเจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเฉเจเจฟเฉฐเจเจพเจ 'เจคเฉ เจเจพ เจเฉ เจฌเฉเจฒเฉเฉเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจจเฉเฉฐ เจ เจฏเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ (เจเฉฑเจฌเฉ เจชเจพเจธเฉ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจนเฉเจ เจฒเจพ เจฒเจฟเฉฐเจ -> เจธเฉฐเจเฉเจช เจเจพเจฃเจเจพเจฐเฉ -> Azure DevOps เจธเฉเจตเจพเจตเจพเจ เจฌเจฒเจพเจ)
-
เจเจเฉเจฐเจฟเจซเฉเจเจเจธ 'เจคเฉ เจเจพเจ, เจซเฉเจก เจฌเจฃเจพเจ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ
- เจธเจฐเฉเจค เจฆเจพ เจจเจพเจฎ เจฆเจฐเจ เจเจฐเฉ
- เจฆเจฟเฉฑเจ เจฆเฉ เจเฉเจฃ เจเจฐเฉ
- เจ
เจจเจเฉเจ เจเจฐเฉ เจเจฎ เจเจจเจคเจ เจธเจฐเฉเจคเจพเจ เจคเฉเจ เจชเฉเจเฉเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ, เจคเจพเจ เจเฉ เจธเจฐเฉเจค เจกเฉฐเจช เจจเจเฉเจ เจเจฒเฉเจจ เจตเจฟเฉฑเจ เจจเจพ เจฌเจฆเจฒ เจเจพเจตเฉ
-
เจซเฉเจก เจฒเจ เจเจจเฉเจเจ เจเจฐเฉ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ, เจตเจฟเจเจผเฉเจ เจฒ เจธเจเฉเจกเฉเจ เจฆเฉ เจเฉเจฃ เจเจฐเฉ, เจฎเจธเจผเฉเจจ เจธเฉเฉฑเจเจ เฉฑเจช เจฌเจฒเจพเจ เจคเฉเจ เจธเจฐเฉเจค เจฆเฉ เจจเจเจฒ เจเจฐเฉ
-
เจเจพเจคเจพ เจธเฉเจเจฟเฉฐเจเจพเจ 'เจคเฉ เจเจพเจ, เจชเจฐเจธเจจเจฒ เจเจเจธเฉเจธ เจเฉเจเจจ เจเฉเจฃเฉ
-
เจเฉฑเจ เจจเจตเจพเจ เจเจเจธเฉเจธ เจเฉเจเจจ เจฌเจฃเจพเจ
- เจจเจพเจฎ - เจเจชเจนเฉเจฆเจฐเฉ
- เจธเฉฐเจเจ เจจ - เจฎเฉเจเฉเจฆเจพ
- เจ เจงเจฟเจเจคเจฎ 1 เจธเจพเจฒ เจฒเจ เจตเฉเจง
- เจธเจเฉเจช - เจชเฉเจเฉเจเจฟเฉฐเจ/เจชเฉเฉเจนเฉ เจ
เจคเฉ เจฒเจฟเจเฉ
-
เจฌเจฃเจพเจ เจเจ เจเฉเจเจจ เจฆเฉ เจจเจเจฒ เจเจฐเฉ - เจฎเจพเจกเจฒ เจตเจฟเฉฐเจกเฉ เจฌเฉฐเจฆ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเฉฑเจฒ เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจนเฉเจตเฉเจเจพ
-
GitLab เจตเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเฉเจเจฟเฉฐเจเจพเจ 'เจคเฉ เจเจพเจ, CI / CD เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจเฉเจฃเฉ
-
เจตเฉเจฐเฉเจเจฌเจฒ เจฌเจฒเจพเจ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจเจฐเฉ, เจเฉฑเจ เจจเจตเจพเจ เจเฉเฉเฉ
- เจจเจพเจฎ - เจเจพเจฒเฉ เจฅเจพเจเจตเจพเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจเฉเจ เจตเฉ (เจเจฎเจพเจเจก เจธเจผเฉเฉฑเจฒ เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง เจนเฉเจตเฉเจเจพ)
- เจฎเฉเฉฑเจฒ - เจชเฉเจฐเจพ 9 เจคเฉเจ เจเจเจธเฉเจธ เจเฉเจเจจ
- เจฎเจพเจธเจ เจตเฉเจฐเฉเจเจฌเจฒ เจเฉเจฃเฉ
เจเจน เจชเฉเจฐเฉ-เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเฉฐเจฐเจเจจเจพ เจซเจฐเฉเจฎเจตเจฐเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ, GitLab เจตเจฟเฉฑเจ CI/CD เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ .gitlab-ci.yml
เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจฐเฉเจ เจคเฉเจ. เจคเฉเจธเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจเจธ เจซเจพเจเจฒ เจฒเจ เจเฉฑเจ เจเจฐเจฌเจฟเจเจฐเฉเจฐเฉ เจฎเจพเจฐเจ เจธเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจเจน เจเจผเจฐเฉเจฐเฉ เจจเจนเฉเจ เจนเฉเฅค
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจเจเจธเจเฉเจเจธเจผเจจ เจคเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ, เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจธเจผเจพเจฎเจฒ เจนเฉ YAML
. เจฆเจธเจคเจพเจตเฉเจเจผ เจตเฉเจฐเจตเฉ เจฆเจฟเฉฐเจฆเจพ เจนเฉ เจเจฟ เจเจฟเจนเฉเฉเจเจ เจเฉเฉฐเจเฉเจเจ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉฑเจชเจฐเจฒเฉ เจชเฉฑเจงเจฐ 'เจคเฉ, เจ
เจคเฉ เจนเจฐเฉเจ เจจเฉเจธเจเจก เจชเฉฑเจงเจฐ 'เจคเฉ เจฐเฉฑเจเฉเจเจ เจเจพ เจธเจเจฆเฉเจเจ เจนเจจเฅค
เจชเจนเจฟเจฒเจพเจ, เจเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจกเฉเจเจฐ เจเจฟเฉฑเจคเจฐ เจฒเจ เจเฉฑเจ เจฒเจฟเฉฐเจ เจเฉเฉเฉเจ, เจเจฟเจธ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค เจเจธเจฆเฉ เจฒเจ เจ
เจธเฉเจ เจฒเฉฑเจญเจฆเฉ เจนเจพเจ
image: mcr.microsoft.com/dotnet/core/sdk:3.1
เจนเฉเจฃ, เจเจฆเฉเจ เจฎเจพเจเจเจฐเฉเจธเจพเจซเจ เจเจฎเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจชเจพเจเจชเจฒเจพเจเจจ เจฒเจพเจเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจจเจฟเจธเจผเจเจฟเจค เจเจฟเฉฑเจคเจฐ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเจพ เจเจพเจตเฉเจเจพ, เจเจฟเจธ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจธเจพเจฐเฉ เจเจพเจฐเจ เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค
เจ เจเจฒเจพ เจเจฆเจฎ เจเฉเฉเจจเจพ เจนเฉ เจชเฉเจพเจ เจฆเฉ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ, GitLab 5 เจชเฉเจพเจตเจพเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจฆเจพ เจนเฉ:
.pre
- เจธเจพเจฐเฉ เจชเฉเจพเจตเจพเจ เจคเฉฑเจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเฉเจคเจพ,.post
- เจธเจพเจฐเฉ เจชเฉเจพเจตเจพเจ เจคเฉเจ เจฌเจพเจ เจฆ เจเฉเจคเจพ เจเจฟเจ,build
- เจชเจนเจฟเจฒเฉ เจฌเจพเจ เจฆ.pre
เจชเฉเจพเจ ,test
- เจฆเฉเจเจพ เจชเฉเจพเจ ,deploy
- เจคเฉเจเจพ เจชเฉเจพเจ .
เจนเจพเจฒเจพเจเจเจฟ, เจเฉเจ เจตเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจเฉเจธเจผเจฟเจค เจเจฐเจจ เจคเฉเจ เจฐเฉเจเจฆเจพ เจนเฉเฅค เจเจฟเจธ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจเจฆเจฎ เจธเฉเจเฉเจฌเฉฑเจง เจเฉเจคเฉ เจเจ เจนเจจ เจเจธ เจเฉเจฐเจฎ เจจเฉเฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจเจฐเจฆเจพ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจน เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจเฅค เจธเฉฐเจชเฉเจฐเจจเจคเจพ เจฒเจ, เจเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉเฉเฉเจ:
stages:
- build
- test
- deploy
เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจฒเจ, เจเจธ เจตเจพเจคเจพเจตเจฐเจฃ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจธเจฎเจเจฆเจพเจฐเฉ เจฐเฉฑเจเจฆเจพ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจ เจเจฎเจพเจเจกเจพเจ เจฆเจพ เจเฉฑเจ เจเจฒเฉเจฌเจฒ เจธเฉเฉฑเจ เจเฉเฉเฉเจ เจเฉ เจนเจฐเฉเจ เจเฉฐเจฎ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจฒเจพเจเจ เจเจพเจตเฉเจเจพ before_script
:
before_script:
- $PSVersionTable.PSVersion
- dotnet --version
- nuget help | select-string Version
เจเจน เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจเฉฐเจฎ เจจเฉเฉฐ เจเฉเฉเจจเจพ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉ เจคเจพเจ เจเจฟ เจเจฆเฉเจ เจเจฎเจฟเจ เจญเฉเจเฉ เจเจพเจฃ, เจชเจพเจเจชเจฒเจพเจเจจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉเฅค เจนเฉเจฃ เจฒเจ, เจเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจพเจฒเฉ เจเฉฐเจฎ เจเฉเฉเฉเจ:
dummy job:
script:
- echo ok
เจ
เจธเฉเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจ, เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจฎเจฟเจฒเจฆเจพ เจนเฉ เจเจฟ เจธเจญ เจเฉเจ เจ เฉเจ เจนเฉ, เจ
เจธเฉเจ เจตเจเจจเจฌเฉฑเจง เจนเจพเจ, เจ
เจธเฉเจ เจงเฉฑเจเจฆเฉ เจนเจพเจ, เจ
เจธเฉเจ เจธเจพเจเจ 'เจคเฉ เจจเจคเฉเจเจฟเจเจ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเจพเจ ... เจ
เจคเฉ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเจฒเจคเฉ เจฎเจฟเจฒเจฆเฉ เจนเฉ - bash: .PSVersion: command not found
. wtf?
เจธเจญ เจเฉเจ เจคเจฐเจเจชเฉเจฐเจจ เจนเฉ - เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ, เจฆเฉเฉเจพเจ (เจเจพเจธเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจ
เจคเฉ GitLab เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ) เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจ bash
เจนเฉเจเจฎ เจเจฒเจพเจเจฃ เจฒเจ. เจคเฉเจธเฉเจ เจเฉฐเจฎ เจฆเฉ เจตเฉเจฐเจตเฉ เจตเจฟเฉฑเจ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจเจน เจฆเฉฑเจธ เจเฉ เจเจธเจจเฉเฉฐ เจ เฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเจเจเจผเฉเจเจฟเจเจเจฟเฉฐเจ เจชเจพเจเจชเจฒเจพเจเจจ เจฐเจจเจฐ เจเฉเจฒ เจเจฟเจนเฉเฉ เจเฉเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ:
dummy job on windows:
script:
- echo ok
tags:
- windows
เจฌเจนเฉเจค เจตเจงเฉเจ! เจชเจพเจเจช เจฒเจพเจเจจ เจนเฉเจฃ เจเฉฑเจฒ เจฐเจนเฉ เจนเฉเฅค
เจเฉฑเจ เจงเจฟเจเจจ เจฆเฉเจฃ เจตเจพเจฒเจพ เจชเจพเจ เจ, เจฆเจฐเจธเจพเจ เจเจ เจเจฆเจฎเจพเจ เจจเฉเฉฐ เจฆเฉเจนเจฐเจพเจเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจงเจฟเจเจจ เจฆเฉเจตเฉเจเจพ เจเจฟ เจเฉฐเจฎ เจชเฉเจพเจ
เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉ เจเจฟเจ เจธเฉ test
, เจนเจพเจฒเจพเจเจเจฟ เจ
เจธเฉเจ เจชเฉเจพเจ
เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉเฅค เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจ
เฉฐเจฆเจพเจเจผเจพ เจฒเจเจพ เจธเจเจฆเฉ เจนเฉ test
เจกเจฟเจซเจพเจฒเจ เจเจฆเจฎ เจนเฉเฅค
เจเจ เจเฉฑเจชเจฐ เจฆเฉฑเจธเฉ เจเจ เจธเจพเจฐเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเฉเฉ เจเฉ เจธเฉฐเจฐเจเจจเจพ เจชเจฟเฉฐเจเจฐ เจฌเจฃเจพเจเจฃเจพ เจเจพเจฐเฉ เจฐเฉฑเจเฉเจ:
build job:
script:
- echo "building..."
tags:
- windows
stage: build
test and cover job:
script:
- echo "running tests and coverage analysis..."
tags:
- windows
stage: test
pack and deploy job:
script:
- echo "packing and pushing to nuget..."
tags:
- windows
stage: deploy
pages:
script:
- echo "creating docs..."
tags:
- windows
stage: deploy
เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจเจพเจธ เจคเฉเจฐ 'เจคเฉ เจเจพเจฐเจเจธเจผเฉเจฒ เจจเจนเฉเจ เจนเฉ, เจชเจฐ เจซเจฟเจฐ เจตเฉ เจธเจนเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจฎเจฟเจฒเฉ เจนเฉเฅค
เจเจฐเจฟเจเจฐ เจธเฉเฉฑเจเจ เฉฑเจช เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจเจธ เจคเฉฑเจฅ เจฆเฉ เจเจพเจฐเจจ เจเจฟ เจเจฟเจธเฉ เจตเฉ เจเจพเจฐเจ เจฒเจ เจเฉเจ เจเจฐเจฟเฉฑเจเจฐ เจซเจฟเจฒเจเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจนเจจ, เจชเจพเจเจชเจฒเจพเจเจจ เจนเฉเจตเฉเจเฉ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจนเจฐ เจตเจพเจฐ เจเจฆเฉเจ เจเฉฑเจ เจเจฎเจฟเจ เจจเฉเฉฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจงเฉฑเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจเจฒเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจฟเจเจเจเจฟ เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจฒเฉเฉเฉเจเจฆเจพ เจตเจฟเจตเจนเจพเจฐ เจจเจนเฉเจ เจนเฉ, เจ เจธเฉเจ เจเจพเจฐเจเจพเจ เจฒเจ เจเจฐเจฟเฉฑเจเจฐ เจซเจฟเจฒเจเจฐ เจธเจฅเจพเจชเจค เจเจฐเจพเจเจเฉเฅค
เจซเจฟเจฒเจเจฐเจพเจ เจจเฉเฉฐ เจฆเฉ เจซเจพเจฐเจฎเฉเจเจพเจ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ: only/except
เจคเฉเจนเจพเจจเฉเฉฐ เจเจฐเจฟเจเจฐเจธ (merge_request
, เจเจฆเจพเจนเจฐเจจ เจฒเจ - เจนเจฐ เจตเจพเจฐ เจเจฆเฉเจ เจชเฉเฉฑเจฒ เจฌเฉเจจเจคเฉ เจฌเจฃเจพเจ เจเจพเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจนเจฐ เจตเจพเจฐ เจเจฎเจฟเจ เจเจธ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจญเฉเจเฉ เจเจพเจเจฆเฉ เจนเจจ เจเฉ เจฎเจฐเจ เจฌเฉเจจเจคเฉ เจตเจฟเฉฑเจ เจธเจฐเฉเจค เจนเฉ) เจ
เจคเฉ เจธเจผเจพเจเจพ เจฆเฉ เจจเจพเจฎ (เจฐเฉเจเฉเจฒเจฐ เจธเจฎเฉเจเจฐเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจธเจฎเฉเจค) เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเฉฐเจฎ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐเจฆเจพ เจนเฉ; rules
เจคเฉเจนเจพเจจเฉเฉฐ เจธเจผเจฐเจคเจพเจ เจฆเฉ เจเฉฑเจ เจธเจฎเฉเจน เจจเฉเฉฐ เจ
เจจเฉเจเฉเจฒเจฟเจค เจเจฐเจจ เจ
เจคเฉ เจตเจฟเจเจฒเจชเจฟเจ เจคเฉเจฐ 'เจคเฉ, เจชเจฟเจเจฒเฉ เจเจพเจฐเจเจพเจ เจฆเฉ เจธเจซเจฒเจคเจพ เจฆเฉ เจ
เจงเจพเจฐ 'เจคเฉ เจเจพเจธเจ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ (when
GitLab CI/CD เจตเจฟเฉฑเจ
เจเจ เจฒเฉเฉเจพเจ เจฆเฉ เจเฉฑเจ เจธเจฎเฉเจน เจจเฉเฉฐ เจฏเจพเจฆ เจเจฐเฉเจ - เจ เจธเฉเจเจฌเจฒเฉ เจ เจคเฉ เจเฉเจธเจเจฟเฉฐเจ เจธเจฟเจฐเจซ เจ เจญเฉเจฆ เจฆเฉ เจฌเฉเจจเจคเฉ, เจชเฉเจเฉเจเจฟเฉฐเจ เจ เจคเฉ Azure DevOps เจจเฉเฉฐ เจญเฉเจเจฃ เจฒเจ - เจตเจฟเจฒเฉเจจ เจฌเฉเจจเจคเฉ เจฒเจ เจ เจคเฉ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจชเฉเจธเจผ เจเจฐเจจ เจฒเจ, เจฆเจธเจคเจพเจตเฉเจเจผ เจฌเจฃเจพเจเจฃ เจฒเจ - เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจงเฉฑเจเจฃ เจฒเจเฅค
เจชเจนเจฟเจฒเจพเจ, เจเจ เจเฉฑเจ เจจเจฟเจฏเจฎ เจเฉเฉ เจเฉ เจเฉเจก เจฌเจฟเจฒเจก เจเจพเจธเจ เจธเฉเจ เจ เจช เจเจฐเฉเจ เจเฉ เจธเจฟเจฐเจซ เจฎเจฐเจ เจฌเฉเจจเจคเฉ 'เจคเฉ เจเฉฑเจฒเจฆเจพ เจนเฉ:
build job:
# snip
only:
- merge_request
เจเจ เจนเฉเจฃ เจ เจญเฉเจฆ เจฆเฉ เจฌเฉเจจเจคเฉ 'เจคเฉ เจซเจพเจเจฐ เจเจฐเจจ เจฒเจ เจชเฉเจเฉเจเจฟเฉฐเจ เจเจพเจธเจ เจธเฉเจ เจ เจช เจเจฐเฉเจ เจ เจคเฉ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจเจฎเจฟเจ เจเฉเฉเฉเจ:
pack and deploy job:
# snip
only:
- merge_request
- master
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจตเฉเจ เจธเจเจฆเฉ เจนเฉ, เจนเจฐ เจเฉเจเจผ เจธเจงเจพเจฐเจจ เจ เจคเฉ เจธเจฟเฉฑเจงเฉ เจนเฉ.
เจคเฉเจธเฉเจ เจเจพเจธเจ เจจเฉเฉฐ เจธเจฟเจฐเจซ เจคเจพเจ เจนเฉ เจซเจพเจเจฐ เจเจฐเจจ เจฒเจ เจธเฉเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเฉเจเจฐ เจเจฟเจธเฉ เจเจพเจธ เจเจพเจฐเจเฉเจ เจเจพเจ เจธเจฐเฉเจค เจธเจผเจพเจเจพ เจจเจพเจฒ เจ เจญเฉเจฆ เจฆเฉ เจฌเฉเจจเจคเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ:
rules:
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"
เจนเจพเจฒเจพเจค เจฆเฉ เจคเจนเจฟเจค, เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฐเจค เจธเจเจฆเฉ เจนเฉ rules
เจจเจฟเจฏเจฎเจพเจ เจจเจพเจฒ เจ
เจธเฉฐเจเจค เจนเฉ only/except
.
เจเจฐเจเฉเจซเฉเจเจ เจธเฉเจตเจฟเฉฐเจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจเฉฑเจ เจเจพเจฐเจ เจฆเฉเจฐเจพเจจ build job
เจธเจพเจกเฉ เจเฉเจฒ เจฌเจฟเจฒเจก เจเจฐเจเฉเจซเฉเจเจเจธ เจนเฉเจฃเจเฉ เจเฉ เจฌเจพเจ
เจฆ เจฆเฉ เจเฉฐเจฎเจพเจ เจตเจฟเฉฑเจ เจฆเฉเจฌเจพเจฐเจพ เจตเจฐเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจธเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฆเฉ เจฎเจพเจฐเจเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจน เจซเจพเจเจฒเจพเจ เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจจเจพเจฒ เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉฐเจฎเจพเจ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจจ เจ
เจคเฉ เจฎเฉเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ, เจเฉเฉฐเจเฉ เจตเจฟเฉฑเจ artifacts
build job:
# snip
artifacts:
paths:
- path/to/build/artifacts
- another/path
- MyCoolLib.*/bin/Release/*
เจชเจพเจฅ เจตเจพเจเจฒเจกเจเจพเจฐเจกเจพเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเฉ เจนเจจ, เจเฉ เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจเจธเจพเจจ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค
เจเฉเจเจฐ เจเฉเจ เจเจพเจฐเจ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจคเจพเจ เจนเจฐเฉเจ เจฌเจพเจ เจฆ เจตเจพเจฒเจพ เจเจพเจฐเจ เจเจนเจจเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเจพ - เจเจน เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฐเฉเจ เจฆเฉ เจ เจจเฉเจธเจพเจฐเฉ เจเจธเฉ เจฎเจพเจฐเจ เจฆเฉ เจจเจพเจฒ เจธเจฅเจฟเจค เจนเฉเจฃเจเฉ เจเฉ เจ เจธเจฒ เจเจพเจฐเจ เจคเฉเจ เจเจเฉฑเจคเจฐ เจเฉเจคเฉ เจเจ เจธเจจเฅค เจเจฒเจพเจเฉเจฐเจฟเจคเฉเจเจ เจธเจพเจเจ 'เจคเฉ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจจ เจฒเจ เจตเฉ เจเจชเจฒเจฌเจง เจนเจจเฅค
เจนเฉเจฃ เจเจฆเฉเจ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจซเจฐเฉเจฎเจตเจฐเจ เจคเจฟเจเจฐ เจนเฉ (เจ เจคเฉ เจเฉเจธเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ), เจ เจธเฉเจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจเจพเจฐเจเจพเจ เจฒเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจฒเจฟเจเจฃ เจฒเจ เจ เฉฑเจเฉ เจตเจง เจธเจเจฆเฉ เจนเจพเจเฅค
เจ เจธเฉเจ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจฒเจฟเจเจฆเฉ เจนเจพเจ
เจธเจผเจพเจเจฆ, เจเฉฑเจ เจตเจพเจฐ, เจเฉฑเจ เจเจฒเฉเจเจธเฉ เจตเจฟเฉฑเจ, เจฌเจนเฉเจค เจฆเฉเจฐ, เจเจฎเจพเจเจก เจฒเจพเจเจจ เจคเฉเจ เจชเฉเจฐเฉเจเฉเจเจเจพเจ (เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจ .net เจเฉฑเจคเฉ เจนเจจ) เจฌเจฃเจพเจเจฃเจพ เจเฉฑเจ เจฆเจฐเจฆ เจธเฉเฅค เจนเฉเจฃ เจคเฉเจธเฉเจ 3 เจเฉเจฎเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ, เจเฉเจธเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ:
dotnet build
dotnet test
dotnet pack
เจเฉเจฆเจฐเจคเฉ เจคเฉเจฐ 'เจคเฉ, เจเฉฑเจฅเฉ เจเฉเจ เจธเฉเจเจฎเจคเจพเจตเจพเจ เจนเจจ เจเจฟเจธ เจเจพเจฐเจจ เจ เจธเฉเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจเฉเจ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพเจตเจพเจเจเฉ.
- เจ
เจธเฉเจ เจเฉฑเจ เจฐเฉเจฒเฉเจเจผ เจฌเจฟเจฒเจก เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ, เจจเจพ เจเจฟ เจกเฉเจฌเฉฑเจ เจฌเจฟเจฒเจก, เจเจธเจฒเจ เจ
เจธเฉเจ เจนเจฐเฉเจ เจเจฎเจพเจเจก เจตเจฟเฉฑเจ เจเฉเฉเจฆเฉ เจนเจพเจ
-c Release
- เจเฉเจธเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจ
เจธเฉเจ เจเฉเจก เจเจตเจฐเฉเจ เจกเฉเจเจพ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ, เจเจธเจฒเจ เจธเจพเจจเฉเฉฐ เจเฉเจธเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจตเจฐเฉเจ เจเจจเจพเจฒเจพเจเจเจผเจฐ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
- เจชเฉเจเฉเจ เจจเฉเฉฐ เจธเจพเจฐเฉเจเจ เจเฉเจธเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
coverlet.msbuild
:dotnet add package coverlet.msbuild
เจชเฉเจฐเฉเจเฉเจเจ เจซเฉเจฒเจกเจฐ เจคเฉเจ - เจเฉเจธเจ เจฐเจจ เจเจฎเจพเจเจก เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
/p:CollectCoverage=true
- เจเจตเจฐเฉเจ เจจเจคเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจเฉเจธเจ เจเจพเจธเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเฉฐเจเฉ เจธเจผเจพเจฎเจฒ เจเจฐเฉ (เจนเฉเจ เจพเจ เจฆเฉเจเฉ)
- เจชเฉเจเฉเจ เจจเฉเฉฐ เจธเจพเจฐเฉเจเจ เจเฉเจธเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
- เจเฉเจก เจจเฉเฉฐ เจจเฉเจเฉเจ เจชเฉเจเฉเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจชเฉเจเฉเจเจพเจ เจฒเจ เจเจเจเจชเฉเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจธเฉเจ เจเจฐเฉ:
-o .
เจเฉเจก เจเจตเจฐเฉเจ เจกเจพเจเจพ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ
เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจตเจฐเจฒเฉเจ เจชเฉเจฐเจฟเฉฐเจเจธ เจเฉฐเจธเฉเจฒ 'เจคเฉ เจ เฉฐเจเฉเฉ เจเจฒเจพเจเจเจฆเฉ เจนเจจ:
Calculating coverage result...
Generating report 'C:Usersxxxsourcereposmy-projectmyProject.testscoverage.json'
+-------------+--------+--------+--------+
| Module | Line | Branch | Method |
+-------------+--------+--------+--------+
| project 1 | 83,24% | 66,66% | 92,1% |
+-------------+--------+--------+--------+
| project 2 | 87,5% | 50% | 100% |
+-------------+--------+--------+--------+
| project 3 | 100% | 83,33% | 100% |
+-------------+--------+--------+--------+
+---------+--------+--------+--------+
| | Line | Branch | Method |
+---------+--------+--------+--------+
| Total | 84,27% | 65,76% | 92,94% |
+---------+--------+--------+--------+
| Average | 90,24% | 66,66% | 97,36% |
+---------+--------+--------+--------+
GitLab เจคเฉเจนเจพเจจเฉเฉฐ เจ
เฉฐเจเฉเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจจเจฟเจฏเจฎเจค เจธเจฎเฉเจเจฐเจจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเฉ เจซเจฟเจฐ เจเฉฑเจ เจฌเฉเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจจเจฟเจฏเจฎเจค เจธเจฎเฉเจเจฐเจจ เจเฉเฉฐเจเฉ เจฆเฉ เจจเจพเจฒ เจเจพเจฐเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ coverage
; เจธเจฎเฉเจเจฐเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจชเจเจฐ เจเจฐเฉเฉฑเจช เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, เจเจฟเจธเจฆเจพ เจฎเฉเฉฑเจฒ เจฌเฉเจ เจจเฉเฉฐ เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพ:
test and cover job:
# snip
coverage: /|s*Totals*|s*(d+[,.]d+%)/
เจเฉฑเจฅเฉ เจ เจธเฉเจ เจเฉเฉฑเจฒ เจฒเจพเจเจจ เจเจตเจฐเฉเจ เจตเจพเจฒเฉ เจเฉฑเจ เจฒเจพเจเจจ เจคเฉเจ เจ เฉฐเจเฉเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจเฅค
เจชเฉเจเฉเจ เจ เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉ
เจฆเฉเจตเฉเจ เจเจพเจฐเจตเจพเจเจเจ เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจเจเจฐเฉ เจชเฉเจพเจ เจฒเจ เจคเจนเจฟ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจจ - เจเจฟเจเจเจเจฟ เจ เจธเฉเจเจฌเจฒเฉ เจ เจคเฉ เจเฉเจธเจ เจชเจพเจธ เจนเฉ เจเจ เจนเจจ, เจ เจธเฉเจ เจเจชเจฃเฉ เจตเจฟเจเจพเจธ เจจเฉเฉฐ เจฆเฉเจจเฉเจ เจจเจพเจฒ เจธเจพเจเจเจพ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค
เจชเจนเจฟเจฒเจพเจ, เจชเฉเจเฉเจ เจธเจฐเฉเจค เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจฌเจพเจฐเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉ:
-
เจเฉเจเจฐ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจจเฉเจเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจจเจนเฉเจ เจนเฉ (
nuget.config
), เจเฉฑเจ เจจเจตเจพเจ เจฌเจฃเจพเจ:dotnet new nugetconfig
เจเจพเจนเจฆเฉ เจฒเจ: เจเจฟเฉฑเจคเจฐ เจฆเฉ เจเจฒเฉเจฌเจฒ (เจเจชเจญเฉเจเจคเจพ เจ เจคเฉ เจฎเจธเจผเฉเจจ) เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฒเจ เจฒเจฟเจเจฃ เจฆเฉ เจชเจนเฉเฉฐเจ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจฒเจคเฉเจเจ เจจเจพ เจซเฉเจจ เจฒเจ, เจ เจธเฉเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจจเจตเฉเจ เจธเจฅเจพเจจเจ เจธเฉฐเจฐเจเจจเจพ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจพเจเฅค
- เจเจ เจธเจฅเจพเจจเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเจพเจ เจชเฉเจเฉเจ เจธเจฐเฉเจค เจเฉเฉเฉเจ:
nuget sources add -name <name> -source <url> -username <organization> -password <gitlab variable> -configfile nuget.config -StorePasswordInClearText
name
- เจธเจฅเจพเจจเจ เจธเจฐเฉเจค เจจเจพเจฎ, เจจเจพเจเจผเฉเจ เจจเจนเฉเจurl
- "เจเจพเจคเฉ เจคเจฟเจเจฐ เจเจฐเจจเจพ", เจชเฉฐเจจเจพ 6 เจฆเฉ เจชเฉเจพเจ เจคเฉเจ เจธเจฐเฉเจค เจฆเจพ URLorganization
- Azure DevOps เจตเจฟเฉฑเจ เจธเฉฐเจธเจฅเจพ เจฆเจพ เจจเจพเจฎgitlab variable
- GitLab เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจเจ เจเจเจธเฉเจธ เจเฉเจเจจ เจฆเฉ เจจเจพเจฒ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเจพ เจจเจพเจฎ ("เจเจพเจคเฉ เจคเจฟเจเจฐ เจเจฐเจจเจพ", เจชเฉฐเจจเจพ 11)เฅค เจเฉเจฆเจฐเจคเฉ เจคเฉเจฐ 'เจคเฉ, เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ$variableName
-StorePasswordInClearText
- เจชเจนเฉเฉฐเจ เจคเฉเจ เจเจจเจเจพเจฐเฉ เจเจฒเจคเฉ เจจเฉเฉฐ เจฌเจพเจเจชเจพเจธ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจนเฉเจ (เจฎเฉเจ เจเจธ เจฐเฉเจ 'เจคเฉ เจเจฆเจฎ เจฐเฉฑเจเจฃ เจตเจพเจฒเจพ เจชเจนเจฟเจฒเจพ เจจเจนเฉเจ เจนเจพเจ )- เจเจฒเจคเฉเจเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจเจธ เจจเฉเฉฐ เจเฉเฉเจจเจพ เจฒเจพเจญเจฆเจพเจเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ
-verbosity detailed
- เจธเจฐเฉเจค เจจเฉเฉฐ เจชเฉเจเฉเจ เจญเฉเจเจฃเจพ:
nuget push -source <name> -skipduplicate -apikey <key> *.nupkg
- เจ
เจธเฉเจ เจฎเฉเจเฉเจฆเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉเจ เจธเจพเจฐเฉ เจชเฉเจเฉเจ เจญเฉเจเจฆเฉ เจนเจพเจ, เจเจธ เจฒเจ
*.nupkg
. name
- เจเจชเจฐเฉเจเจค เจเจฆเจฎ เจคเฉเจ.key
- เจเฉเจ เจตเฉ เจฒเจพเจเจจ. Azure DevOps เจตเจฟเฉฑเจ, เจเจจเฉเจเจ เจเฉ เจซเฉเจก เจตเจฟเฉฐเจกเฉ เจตเจฟเฉฑเจ, เจเจฆเจพเจนเจฐเจจ เจนเจฎเฉเจธเจผเจพ เจฒเจพเจเจจ เจนเฉเฉฐเจฆเฉ เจนเฉaz
.-skipduplicate
- เจเจฆเฉเจ เจเจธ เจเฉเฉฐเจเฉ เจคเฉเจ เจฌเจฟเจจเจพเจ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจฎเฉเจเฉเจฆ เจชเฉเจเฉเจ เจญเฉเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจธเจฐเฉเจค เจเฉฑเจ เจเจฒเจคเฉ เจตเจพเจชเจธ เจเจฐเฉเจเจพ409 Conflict
; เจเฉเฉฐเจเฉ เจฆเฉ เจจเจพเจฒ, เจญเฉเจเจฃเจพ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพเฅค
- เจ
เจธเฉเจ เจฎเฉเจเฉเจฆเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉเจ เจธเจพเจฐเฉ เจชเฉเจเฉเจ เจญเฉเจเจฆเฉ เจนเจพเจ, เจเจธ เจฒเจ
เจเจ เจนเฉเจฃ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฆเฉ เจฐเจเจจเจพ เจจเฉเฉฐ เจธเฉเจ เจ เจช เจเจฐเฉเจ:
- เจชเจนเจฟเจฒเจพเจ, เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ, เจฎเจพเจธเจเจฐ เจฌเฉเจฐเจพเจเจ เจตเจฟเฉฑเจ, เจ
เจธเฉเจ docfx เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจฐเฉเจ เจคเฉเจ เจเจฎเจพเจเจก เจเจฒเจพเจ
docfx init
เจ เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฐเจเจฐเจเจเจเจฟเจต เจคเฉเจฐ 'เจคเฉ เจฎเฉเฉฑเจ เจฎเจพเจชเจฆเฉฐเจก เจธเฉเฉฑเจ เจเจฐเฉเฅค เจเฉฑเจเฉ-เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเฉเฉฑเจเจ เฉฑเจช เจฆเจพ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเฉเจฐเจตเจพเจเฉฑเจฅเฉ .- เจธเฉฐเจฐเจเจจเจพ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจเจเจชเฉเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉเฉฐเจฆเจพ เจนเฉ
..public
- เจกเจฟเจซเฉเจฒเจ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจฟเจเจฒเฉเจฌ เจชเฉฐเจจเจฟเจเจ เจฒเจ เจเฉฑเจ เจธเจฐเฉเจค เจตเจเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจฐเฉเจ เจตเจฟเฉฑเจ เจเจจเจคเจ เจซเฉเจฒเจกเจฐ เจฆเฉเจเจ เจธเจฎเฉฑเจเจฐเฉเจเจ เจจเฉเฉฐ เจฒเฉเจเจฆเจพ เจนเฉเฅค เจเจฟเจเจเจเจฟ เจชเฉเจฐเฉเจเฉเจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจจเฉเจธเจ เจเฉเจคเฉ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเฉเจตเฉเจเจพ - เจฎเจพเจฐเจ เจตเจฟเฉฑเจ เจฒเฉเจตเจฒ เจ เฉฑเจช เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจเจเจชเฉเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค
- เจธเฉฐเจฐเจเจจเจพ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจเจเจชเฉเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉเฉฐเจฆเจพ เจนเฉ
- เจเจ GitLab เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจ เฉฑเจเฉ เจตเจงเจพเจเจเจฆเฉ เจนเจพเจเฅค
- เจชเจพเจเจชเจฒเจพเจเจจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจฐเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
pages
(GitLab เจชเฉฐเจจเจฟเจเจ เจตเจฟเฉฑเจ เจธเจพเจเจ เจชเฉเจฐเจเจพเจธเจผเจจ เจเจพเจฐเจเจพเจ เจฒเจ เจฐเจพเจเจตเจพเจ เจธเจผเจฌเจฆ):- เจธเจเฉเจฐเจฟเจชเจ:
nuget install docfx.console -version 2.51.0
- docfx เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ; เจตเจฐเจเจจ เจจเฉเฉฐ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฒเจ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจนเฉ เจเจฟ เจชเฉเจเฉเจ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฎเจพเจฐเจ เจธเจนเฉ เจนเจจเฅค.docfx.console.2.51.0toolsdocfx.exe .docfx_projectdocfx.json
- เจฆเจธเจคเจพเจตเฉเจเจผ เจเจเฉฑเจ เฉ เจเจฐเจจเจพ
- เจจเฉเจก เจเจฒเจพเจเฉเจฐเจฟเจคเฉเจเจ:
- เจธเจเฉเจฐเจฟเจชเจ:
pages:
# snip
artifacts:
paths:
- public
docfx เจฌเจพเจฐเฉ เจฌเฉเจฒเจฃ เจตเจพเจฒเจพ เจตเจฟเจญเจฟเฉฐเจจเจคเจพ
เจชเจนเจฟเจฒเจพเจ, เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจตเฉเจฒเฉ, เจฎเฉเจ เจเฉฑเจ เจนเฉฑเจฒ เจซเจพเจเจฒ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฒเจ เจเฉเจก เจธเจฐเฉเจค เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเจพ เจธเฉเฅค เจฎเฉเฉฑเจ เจจเฉเจเจธเจพเจจ เจเจน เจนเฉ เจเจฟ เจเฉเจธเจ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจฒเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจตเฉ เจฌเจฃเจพเจ เจเจ เจนเจจ. เจเฉเจเจฐ เจเจน เจเจผเจฐเฉเจฐเฉ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจธ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจจเฉเจก 'เจคเฉ เจธเฉเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ metadata.src
:
{
"metadata": [
{
"src": [
{
"src": "../",
"files": [
"**/*.csproj"
],
"exclude":[
"*.tests*/**"
]
}
],
// --- snip ---
},
// --- snip ---
],
// --- snip ---
}
metadata.src.src: "../"
- เจ เจธเฉเจ เจธเจฅเจพเจจ เจฆเฉ เจ เจจเฉเจธเจพเจฐ เจเฉฑเจ เจชเฉฑเจงเจฐ เจเฉฑเจชเจฐ เจเจพเจเจฆเฉ เจนเจพเจdocfx.json
, เจเจฟเจเจเจเจฟ เจชเฉเจเจฐเจจเจพเจ เจตเจฟเฉฑเจ, เจกเจพเจเจฐเฉเจเจเจฐเฉ เจเฉเจฐเฉ เจจเฉเฉฐ เจเฉเจเจฃเจพ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉเฅคmetadata.src.files: ["**/*.csproj"]
- เจเฉฑเจ เจเจฒเฉเจฌเจฒ เจชเฉเจเจฐเจจ, เจ เจธเฉเจ เจธเจพเจฐเฉเจเจ เจกเจพเจเจฐเฉเจเจเจฐเฉเจเจ เจคเฉเจ เจธเจพเจฐเฉ C # เจชเฉเจฐเฉเจเฉเจเจ เจเจเฉฑเจ เฉ เจเจฐเจฆเฉ เจนเจพเจเฅคmetadata.src.exclude: ["*.tests*/**"]
- เจเจฒเฉเจฌเจฒ เจชเฉเจเจฐเจจ, เจจเจพเจฒ เจซเฉเจฒเจกเจฐเจพเจ เจคเฉเจ เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจฌเจพเจนเจฐ เจเฉฑเจขเฉ.tests
เจธเจฟเจฐเจฒเฉเจ เจตเจฟเฉฑเจ
เจเฉเจฒ
เจ เจเจฟเจนเฉ เจธเจงเจพเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจธเจฟเจฐเจซ เจ เฉฑเจงเฉ เจเฉฐเจเฉ เจ เจคเฉ เจฆเฉ เจเฉฑเจช เจเฉเจซเฉ เจตเจฟเฉฑเจ เจฌเจฃเจพเจ เจเจพ เจธเจเจฆเฉ เจนเฉ, เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจเจพเจเจ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเฉเจตเฉเจเฉ เจเจฟ เจเฉเจก เจฌเจฃเจฟเจ เจนเฉ เจ เจคเฉ เจเฉเจธเจ เจชเจพเจธ เจนเฉ เจเจ เจนเจจ, เจเฉฑเจ เจจเจตเจพเจ เจชเฉเจเฉเจ เจฌเจฃเจพเจ, เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจจเฉเฉฐ เจ เจชเจกเฉเจ เจเจฐเฉ เจ เจคเฉ เจ เฉฑเจเจพเจ เจจเฉเฉฐ เจธเฉเฉฐเจฆเจฐ เจจเจพเจฒ เจเฉเจธเจผ เจเจฐเฉ. เจนเจฐเฉเจ เจตเจฟเจฒเฉเจจ เจฌเฉเจจเจคเฉ เจ เจคเฉ เจฎเจพเจธเจเจฐ เจจเฉเฉฐ เจญเฉเจเจฃ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ README เจตเจฟเฉฑเจ เจฌเฉเจเฅค
เจซเจพเจเจจเจฒ .gitlab-ci.yml
image: mcr.microsoft.com/dotnet/core/sdk:3.1
before_script:
- $PSVersionTable.PSVersion
- dotnet --version
- nuget help | select-string Version
stages:
- build
- test
- deploy
build job:
stage: build
script:
- dotnet build -c Release
tags:
- windows
only:
- merge_requests
- master
artifacts:
paths:
- your/path/to/binaries
test and cover job:
stage: test
tags:
- windows
script:
- dotnet test -c Release /p:CollectCoverage=true
coverage: /|s*Totals*|s*(d+[,.]d+%)/
only:
- merge_requests
- master
pack and deploy job:
stage: deploy
tags:
- windows
script:
- dotnet pack -c Release -o .
- dotnet new nugetconfig
- nuget sources add -name feedName -source https://pkgs.dev.azure.com/your-organization/_packaging/your-feed/nuget/v3/index.json -username your-organization -password $nugetFeedToken -configfile nuget.config -StorePasswordInClearText
- nuget push -source feedName -skipduplicate -apikey az *.nupkg
only:
- master
pages:
tags:
- windows
stage: deploy
script:
- nuget install docfx.console -version 2.51.0
- $env:path = "$env:path;$($(get-location).Path)"
- .docfx.console.2.51.0toolsdocfx.exe .docfxdocfx.json
artifacts:
paths:
- public
only:
- master
เจฌเฉเจเจพเจ เจฆเฉ เจเฉฑเจฒ เจเจฐเจฆเฉ เจนเฉเจ
เจเจนเจจเจพเจ เจเจฐเจเฉ, เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ, เจธเจญ เจเฉเจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจฟเจ เจธเฉ!
เจชเจพเจเจชเจฒเจพเจเจจ เจธเจฅเจฟเจคเฉเจเจ เจ เจคเฉ เจเฉเจก เจเจตเจฐเฉเจ เจตเจพเจฒเฉ เจฌเฉเจ Gtntral เจชเจพเจเจชเจฒเจพเจเจจ เจฌเจฒเจพเจ เจตเจฟเฉฑเจ CI/CD เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ GitLab เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง เจนเจจ:
เจฎเฉเจ เจชเจฒเฉเจเจซเจพเจฐเจฎ 'เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฆเฉ เจฒเจฟเฉฐเจ เจจเจพเจฒ เจเฉฑเจ เจฌเฉเจ เจฌเจฃเจพเจเจ เจนเฉ
![ะัะธะผะตั ั Shields.io](https://img.shields.io/badge/custom-badge-blue)
Azure DevOps Artifacts เจคเฉเจนเจพเจจเฉเฉฐ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจตเจพเจฒเฉ เจชเฉเจเฉเจเจพเจ เจฒเจ เจฌเฉเจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจเจฟเจ เจตเฉ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, Azure DevOps เจธเจพเจเจ 'เจคเฉ เจธเจฐเฉเจค เจตเจฟเฉฑเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฃเฉ เจเจ เจชเฉเจเฉเจ เจฒเจ เจฌเฉเจ เจฌเจฃเจพเจ เจ เจคเฉ เจฎเจพเจฐเจเจกเจพเจเจจ เจฎเจพเจฐเจเจ เฉฑเจช เจจเฉเฉฐ เจเจพเจชเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
เจธเฉเฉฐเจฆเจฐเจคเจพ เจเฉเฉเจจเจพ
เจเจฎ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉเจเฉเจฟเจเจ เจจเฉเฉฐ เจเจเจพเจเจฐ เจเจฐเจจเจพ
เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจ เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฆเฉเจเจฐเจพ เจเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจฎเฉเจจเฉเฉฐ YAML เจฆเฉ เจเฉฑเจ เจฆเจฟเจฒเจเจธเจช เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฎเจฟเจฒเฉ - เจเฉเจเฉเจฟเจเจ เจฆเฉ เจฎเฉเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ.
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจเจพเจธเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจคเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ, เจเจนเจจเจพเจ เจธเจพเจฐเจฟเจเจ เจจเฉเฉฐ เจเฉเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ windows
เจฐเจจเจฐ 'เจคเฉ, เจ
เจคเฉ เจเจฆเฉเจ เจเจพเจฒเฉ เจนเฉเฉฐเจฆเฉ เจนเจจ เจเจฆเฉเจ เจฎเจพเจธเจเจฐ/เจฌเจฃเจพเจ เจเจ (เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ) เจจเฉเฉฐ เจเฉฑเจ เจ
เจญเฉเจฆ เจฌเฉเจจเจคเฉ เจญเฉเจเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจฒเฉ เจเจธเจจเฉเฉฐ เจเจธ เจเฉเจเฉเฉ เจตเจฟเฉฑเจ เจเฉเฉเฉเจ เจเจฟเจธเจฆเฉ เจ
เจธเฉเจ เจฆเฉเจฌเจพเจฐเจพ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ:
.common_tags: &common_tags
tags:
- windows
.common_only: &common_only
only:
- merge_requests
- master
เจ เจคเฉ เจนเฉเจฃ เจ เจธเฉเจ เจเจพเจธเจ เจตเจฐเจฃเจจ เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเจพเจ เจเฉเจธเจผเจฟเจค เจเฉเจคเฉ เจเจ เจเฉเจเฉเฉ เจจเฉเฉฐ เจชเจพ เจธเจเจฆเฉ เจนเจพเจ:
build job:
<<: *common_tags
<<: *common_only
เจเฉเจเฉเจฟเจเจ เจฆเฉ เจจเจพเจฎ เจเฉฑเจ เจฌเจฟเฉฐเจฆเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ, เจคเจพเจ เจเฉ เจเฉฑเจ เจเจพเจฐเจ เจตเจเฉเจ เจตเจฟเจเจเจฟเจ เจจเจพ เจเฉเจคเฉ เจเจพ เจธเจเฉเฅค
เจชเฉเจเฉเจ เจธเฉฐเจธเจเจฐเจฃ
เจเฉฑเจ เจชเฉเจเฉเจ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ, เจเฉฐเจชเจพเจเจฒเจฐ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจธเจตเจฟเฉฑเจเจพเจ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจเจนเจจเจพเจ เจฆเฉ เจเฉเจฐเจนเจพเจเจผเจฐเฉ เจตเจฟเฉฑเจ, เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒเจพเจ; เจเจฆเฉเจ เจเจน เจเฉฑเจ เจตเจฐเจเจจ เจจเฉเจก เจฒเฉฑเจญเจฆเจพ เจนเฉ, เจคเจพเจ เจเจน เจเจธเจฆเฉ เจเฉเจฎเจค เจจเฉเฉฐ เจฌเจฃเจพเจ เจเจพ เจฐเจนเฉ เจชเฉเจเฉเจ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฒเฉเจเจฆเจพ เจนเฉเฅค เจเจน เจชเจคเจพ เจเจฒเจฆเจพ เจนเฉ เจเจฟ เจเฉฑเจ เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจชเฉเจเฉเจ เจฌเจฃเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจพเจ เจคเจพเจ เจเจธเจจเฉเฉฐ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจ เจชเจกเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจพเจ เจเจธเจจเฉเฉฐ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเจฐเจเฉเจฎเฉเจเจ เจตเจเฉเจ เจชเจพเจธ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจเจฒเฉ เจเฉฑเจ เจนเฉเจฐ เจตเจฟเจธเจผเจฒเจฟเจธเจ เจเฉเฉเฉเจ - เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจเฉเจเฉ เจฆเฉ เจจเฉฐเจฌเจฐเจพเจ เจจเฉเฉฐ เจชเฉเจเฉเจ เจฆเฉ เจธเจพเจฒ เจ เจคเฉ เจฌเจฟเจฒเจก เจคเจพเจฐเฉเจ เจนเฉเจฃ เจฆเจฟเจ, เจ เจคเฉ เจชเฉเจฐเฉ-เจฐเจฟเจฒเฉเจเจผ เจธเฉฐเจธเจเจฐเจฃ เจเฉเฉเฉเฅค เจฌเฉเจธเจผเฉฑเจ, เจคเฉเจธเฉเจ เจเจธ เจกเฉเจเจพ เจจเฉเฉฐ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจนเจฐเฉเจ เจธเจฌเจฎเจฟเจธเจผเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจพเจเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ - เจชเจฐ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจธเฉฐเจฆเจฐเจญ เจคเฉเจ เจชเฉเจเฉเจ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเจฐเจเฉเจฎเฉเจเจ เจฆเฉเจเจฐเจพ เจชเจพเจธ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจเจฒเฉ เจธเจนเจฟเจฎเจค เจนเฉเจตเฉ เจเจฟ เจเฉเจเจฐ เจชเฉเจฐเจคเฉเจฌเฉฑเจง เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจฒเจพเจเจจ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ release (v./ver./version) <version number> (rev./revision <revision>)?
, เจซเจฟเจฐ เจ
เจธเฉเจ เจเจธ เจฒเจพเจเจจ เจคเฉเจ เจชเฉเจเฉเจ เจฆเจพ เจธเฉฐเจธเจเจฐเจฃ เจฒเจตเจพเจเจเฉ, เจเจธ เจจเฉเฉฐ เจฎเฉเจเฉเจฆเจพ เจฎเจฟเจคเฉ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเจ เจเจฐเจพเจเจเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจเจฎเจพเจเจก เจฆเฉ เจเจฐเจเฉเจฎเฉเจเจ เจตเจเฉเจ เจชเจพเจธ เจเจฐเจพเจเจเฉเฅค dotnet pack
. เจเฉฑเจ เจฒเจพเจเจจ เจฆเฉ เจ
เจฃเจนเฉเจเจฆ เจตเจฟเฉฑเจ, เจ
เจธเฉเจ เจฌเจธ เจชเฉเจเฉเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจจเจนเฉเจ เจเจฐเจพเจเจเฉเฅค
เจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจธเจเฉเจฐเจฟเจชเจ เจเจธ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจฆเฉ เจนเฉ:
# ัะตะณัะปััะฝะพะต ะฒััะฐะถะตะฝะธะต ะดะปั ะฟะพะธัะบะฐ ัััะพะบะธ ั ะฒะตััะธะตะน
$rx = "releases+(v.?|ver.?|version)s*(?<maj>d+)(?<min>.d+)?(?<rel>.d+)?s*((rev.?|revision)?s+(?<rev>[a-zA-Z0-9-_]+))?"
# ะธัะตะผ ัััะพะบั ะฒ ัะพะพะฑัะตะฝะธะธ ะบะพะผะผะธัะฐ, ะฟะตัะตะดะฐะฒะฐะตะผะพะผ ะฒ ะพะดะฝะพะน ะธะท ะฟัะตะดะพะฟัะตะดะตะปัะตะผัั
GitLab'ะพะผ ะฟะตัะตะผะตะฝะฝัั
$found = $env:CI_COMMIT_MESSAGE -match $rx
# ัะพะฒะฟะฐะดะตะฝะธะน ะฝะตั - ะฒัั
ะพะดะธะผ
if (!$found) { Write-Output "no release info found, aborting"; exit }
# ะธะทะฒะปะตะบะฐะตะผ ะผะฐะถะพัะฝัั ะธ ะผะธะฝะพัะฝัั ะฒะตััะธะธ
$maj = $matches['maj']
$min = $matches['min']
# ะตัะปะธ ัััะพะบะฐ ัะพะดะตัะถะธั ะฝะพะผะตั ัะตะปะธะทะฐ - ะธัะฟะพะปัะทัะตะผ ะตะณะพ, ะธะฝะฐัะต - ัะตะบััะธะน ะณะพะด
if ($matches.ContainsKey('rel')) { $rel = $matches['rel'] } else { $rel = ".$(get-date -format "yyyy")" }
# ะฒ ะบะฐัะตััะฒะต ะฝะพะผะตัะฐ ัะฑะพัะบะธ - ัะตะบััะธะต ะผะตััั ะธ ะดะตะฝั
$bld = $(get-date -format "MMdd")
# ะตัะปะธ ะตััั ะดะฐะฝะฝัะต ะฟะพ ะฟัะตัะตะปะธะทะฝะพะน ะฒะตััะธะธ - ะฒะบะปััะฐะตะผ ะธั
ะฒ ะฒะตััะธั
if ($matches.ContainsKey('rev')) { $rev = "-$($matches['rev'])" } else { $rev = '' }
# ัะพะฑะธัะฐะตะผ ะตะดะธะฝัั ัััะพะบั ะฒะตััะธะธ
$version = "$maj$min$rel.$bld$rev"
# ัะพะฑะธัะฐะตะผ ะฟะฐะบะตัั
dotnet pack -c Release -o . /p:Version=$version
เจเฉฑเจ เจเจพเจฐเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเฉเฉเจจเจพ pack and deploy job
เจ
เจคเฉ เจเจฎเจฟเจ เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจฆเจฟเฉฑเจคเฉ เจเจ เจธเจคเจฐ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจตเจฟเฉฑเจ เจชเฉเจเฉเจเจพเจ เจฆเฉ เจ
เจธเฉเจเจฌเจฒเฉ เจฆเฉ เจธเจเจคเฉ เจจเจพเจฒ เจชเจพเจฒเจฃเจพ เจเจฐเฉเฅค
เจเฉเฉฑเจฒ
เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจตเจฟเฉฑเจ เจฒเจเจญเจ เจ เฉฑเจงเจพ เจเฉฐเจเจพ เจเจพเจ เจเฉฑเจ เจเฉฐเจเจพ เจฌเจฟเจคเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจฅเจพเจจเจ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจตเจฟเฉฑเจ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจ เจคเฉ, เจธเฉฐเจญเจต เจคเฉเจฐ 'เจคเฉ, เจเฉเจ เจ เจธเจซเจฒ เจฒเจพเจเจเจพเจ เจฆเฉ เจฌเจพเจ เจฆ, เจธเจพเจจเฉเฉฐ เจฐเฉเจเฉเจจ เจเฉฐเจฎเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจธเฉฐเจฐเจเจจเจพ เจฎเจฟเจฒเฉเฅค
เจฌเฉเจธเจผเฉฑเจ, GitLab CI / CD เจเจธ เจเจพเจเจก เจจเฉเฉฐ เจชเฉเฉเจนเจจ เจคเฉเจ เจฌเจพเจ
เจฆ เจเจพเจชเจฆเจพ เจนเฉ เจจเจพเจฒเฉเจ เจเจฟเจคเฉ เจเจผเจฟเจเจฆเจพ เจตเจฟเจเจชเจ เจ
เจคเฉ เจฌเจนเฉเจชเฉฑเจเฉ เจนเฉ -
เจคเฉเจนเจพเจกเฉเจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจเฉเจเฉ, เจฌเจฃเจพเจ, เจเฉเจธเจ เจเจฐเฉ, เจคเฉเจจเจพเจค เจเจฐเฉ เจ เจคเฉ เจจเจฟเจเจฐเจพเจจเฉ เจเจฐเฉ
เจนเฉเจฃ เจชเจฒเฉเจฎเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจ เจเจผเฉเจฐ เจฒเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเจจ เจ เจคเฉ เจจเจฟเจธเจผเจพเจจเจพ เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉเจเจ เจฏเฉเจเจจเจพเจตเจพเจ เจนเจจ, เจเจฟเจธ เจจเฉเฉฐ เจ เจเจฒเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจเจตเจฐ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจธเจฐเฉเจค: www.habr.com