āĻāĻŽāĻžāĻā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻāĻžāĻāĻžāĻ¤ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸, āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻŽāĻžāĻ° āĻāĻŋāĻā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻā§āĻ°ā§āĻ¯āĻžāĻāĻŋāĻ¸-āĻ¸āĻŋāĻāĻ āĻāĻŦāĻ āĻāĻŋāĻŽāĻ¸āĻŋāĻāĻŋ āĻĨā§āĻā§ āĻāĻŋāĻāĻšāĻžāĻŦ āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻŋāĻ āĻāĻāĻŋ āĻĨā§āĻā§ āĻŦā§āĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻŦā§?
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĻāĻ°āĻāĻžāĻ° āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ°āĻŦ, āĻāĻ¸ā§āĻ¨ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻŦā§āĻ / āĻāĻžāĻāĻž 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 }}
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻāĻžāĻ° āĻāĻ°āĻ¤ā§, āĻāĻŽāĻŋ jacoco āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¯ā§āĻā§ āĻā§āĻĄāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ āĻā§āĻĄāĻāĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
${{ secrets.CODECOV_TOKEN }}
â āĻāĻŽāĻ°āĻž āĻāĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻāĻŋ āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦ, āĻ¸āĻŋāĻā§āĻ°ā§āĻāĻ¸ āĻšāĻ˛ āĻāĻŋāĻāĻšāĻžāĻŦā§ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ/āĻā§āĻā§āĻ¨/āĻšā§āĻ¸ā§āĻ/āĻāĻāĻāĻ°āĻāĻ˛ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻā§āĻĄ āĻŦā§āĻ¸ā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻšāĻžāĻŦā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻā§āĻā§āĻ¨ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
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 āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĨ¤ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻŽāĻžāĻ°ā§āĻā§āĻ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸, āĻ¤āĻŦā§ āĻāĻŦāĻžāĻ° āĻāĻāĻŋ āĻāĻŽāĻžāĻā§ āĻāĻŋāĻā§āĻāĻž āĻšāĻ¤āĻžāĻļ āĻāĻ°ā§āĻā§, āĻāĻžāĻ°āĻŖ āĻ āĻā§āĻ¯āĻžāĻ¸ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨āĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻĢā§āĻ˛ā§āĻ¤ā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻāĻž āĻā§āĻ˛ āĻ¯ā§ āĻ¸ā§āĻ¨āĻžāĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ¨ āĻŦāĻž āĻā§āĻ°ā§āĻĄāĻ˛-āĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻŋ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻ˛ā§āĻāĻž āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§ āĻĒāĻĄāĻŧā§?!
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻŽāĻāĻŋāĻāĻ¨ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻŋ āĻāĻ°āĻŦ:
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/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āĨ¤
āĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻā§āĻāĻž
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ˛ āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻāĻžāĻā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻāĻ°ā§āĻāĻŋ, āĻ¤āĻžāĻ āĻ˛ā§āĻŦā§āĻ˛āĻžāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨, āĻāĻāĻŋ āĻĒāĻŋāĻāĻ°-āĻ āĻā§āĻ¯āĻžāĻ āĻ°āĻžāĻā§ āĻ¯āĻžāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§ āĻāĻŽāĻ°āĻž [āĻŦāĻŋāĻ˛ā§āĻĄ] āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ .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 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŦāĻ āĻĄāĻāĻžāĻ°-āĻšāĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§) āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§, āĻ¸āĻŽā§āĻāĻŦāĻ¤, āĻāĻĒāĻ¨āĻŋ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻā§āĻāĻā§ āĻĒāĻžāĻŦā§āĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ¯āĻ¤āĻ āĻŦāĻžāĻāĻāĻž āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨āĨ¤ āĻšāĻ¯āĻŧ
āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻāĻŋ, āĻ¤āĻžāĻ āĻāĻ¸ā§āĻ¨ GitHub āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻā§āĻ¨ (āĻāĻāĻŋ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻ¸āĻžāĻŽāĻā§āĻ°ā§, āĻāĻ¨āĻĒāĻŋāĻāĻŽ, āĻāĻžāĻ°, āĻĄāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛)āĨ¤
āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ 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 āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻšāĻžāĻŦ āĻĄāĻāĻžāĻ° āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ° āĻĒāĻĨ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻŋāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻļāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻ¨āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋ:
- āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻŽāĻ¤ā§: 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 āĻāĻŋāĻ āĻāĻ¤āĻŋāĻšāĻžāĻ¸ā§ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻšā§āĻ¯āĻžāĻļ āĻĻā§āĻāĻŋ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻžāĻ āĻŽāĻŋāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨/āĻā§āĻāĻāĻāĻ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻĒāĻŋāĻāĻ°-āĻ āĻĄā§āĻĄāĻ˛āĻāĻŋāĻ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻāĻžāĻ (https://github.com/antkorwin/github-actions/packages) āĻā§āĻ˛āĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻāĻžāĻ° āĻāĻŋāĻ¤ā§āĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨:
āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¯āĻž āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻĨāĻžāĻā§ āĻ¤āĻž āĻšāĻ˛ āĻāĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĨ¤ āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧ systemd āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ
āĻāĻŋāĻāĻšāĻžāĻŦ āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻŦāĻžāĻ¸ā§āĻĨā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĻā§āĻā§āĻ¨āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻāĻā§āĻ¯āĻŧā§āĻāĻ° āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ 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
āĻāĻŽāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻ°āĻžāĻ¤ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻŦ, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§āĻāĻŋāĨ¤ āĻļāĻ¤ āĻļāĻ¤ āĻŦāĻžāĻ° āĻāĻŽāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄ-āĻāĻĒā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻāĻŋ āĻ¯āĻāĻ¨ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§, āĻāĻāĻāĻŋ āĻļāĻžāĻāĻž āĻŽāĻžāĻ°ā§āĻ āĻāĻ°ā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋāĻā§ āĻāĻŋāĻāĻ°āĻ-āĻ¤ā§ āĻā§āĻ¨ā§ āĻāĻ¨āĻ¤ā§ āĻā§āĻ˛ā§ āĻā§āĻā§āĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ¯āĻĻāĻŋ āĻāĻ āĻ¸āĻŦ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻšāĻ āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¸āĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻĄāĻŋāĻāĻ¤ā§ āĻā§āĻĄ āĻ˛āĻŋāĻāĻŋ, āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻā§ āĻŦāĻŋāĻāĻŦāĻžāĻā§āĻ āĻŦāĻž āĻāĻŋāĻāĻšāĻžāĻŦā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻžāĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻŋāĻ°āĻžāĻ¤ā§ āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻ¨ā§āĻĄā§ āĻā§āĻ˛āĻ¤ā§ āĻšāĻŦā§āĨ¤ , āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻŦāĻžāĻ° āĻ˛āĻ āĻāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻ¨āĻŋāĻā§āĻāĻ¤āĻāĻžāĻŦā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¤āĻāĻ¨ āĻāĻŦāĻžāĻ° āĻŦā§āĻ°ā§āĻĄ āĻā§āĻ˛āĻžāĻ° āĻā§āĻ¨āĻ āĻŽāĻžāĻ¨ā§ āĻ¨ā§āĻāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻāĻžāĻ˛ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻāĻĒā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻ¸ā§āĻ āĻŦā§āĻ°ā§āĻĄ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
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}}
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻāĻšāĻžāĻŦ āĻŽāĻžāĻ°ā§āĻā§āĻāĻĒā§āĻ˛ā§āĻ¸ā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻā§ āĻļāĻžāĻāĻžāĻ° āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻžāĻ°āĻŖ āĻāĻāĻ˛āĻžāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻāĻ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻā§āĻ¨āĻāĻāĻžāĻŦā§āĻ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¯āĻŧāĻ¨āĻŋāĨ¤ , āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻŋ āĻā§āĻ˛ āĻāĻŋāĻ˛ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ - āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ¤ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻĻā§āĻ°ā§āĻāĨ¤
āĻāĻāĻāĻŋ āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻž āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻĨāĻžāĻā§ āĻ¤āĻž āĻšāĻ˛ "āĻā§āĻĄ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž" āĻāĻ˛āĻžāĻŽā§ āĻāĻžāĻāĻāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§:
- name: Transition issue
if: ${{ success() }}
uses: atlassian/gajira-transition@master
with:
issue: ${{ steps.find_issue.outputs.ISSUE_ID }}
transition: "Code review"
GitHub-āĻ āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻšāĻ˛ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ¸ā§āĻ¯ā§ āĻāĻāĻĄāĻŋ āĻāĻŦāĻ JIRA-āĻ¤ā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻāĻāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻŽāĻžāĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻāĻŦāĻ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻĢā§āĻ˛ā§ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ¨ā§ āĻāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻŦāĻ āĻ°ā§āĻāĻŋāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻā§āĻāĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤
āĻ¤āĻĨā§āĻ¯āĻ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ˛āĻžāĻ¸āĻŋāĻ DEVOPS āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻĻā§āĻā§āĻ¨, āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻŦā§āĻ¯āĻ¤ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ, āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻšā§āĻ˛ā§āĻĒ-āĻĄā§āĻ¸ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻžāĻ°ā§ āĻāĻŋāĻā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ§āĻ°ā§ āĻ¨ā§āĻŦ āĻ¯ā§ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻĒā§āĻā§āĻāĻžāĻ¨ā§āĻĒā§āĻā§āĻ āĻšāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻāĻžāĻ¨āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž:
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§āĻŽ āĻ¸āĻš āĻŽāĻžāĻ°ā§āĻā§āĻāĻĒā§āĻ˛ā§āĻ¸, āĻāĻāĻŋ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻŦā§āĻ¨ āĻŦāĻž āĻāĻŋāĻāĻšāĻžāĻŦ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛ā§āĻāĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ā§āĻ¸ āĻā§āĻĄāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
- āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž: āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸, āĻŽā§āĻ¯āĻžāĻ āĻāĻāĻ¸, āĻāĻāĻ¨ā§āĻĄā§āĻ āĻŦā§āĻļ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĨ¤
- Github āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸, āĻ¸āĻŽāĻā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻ¨ā§āĻĄā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻĢ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ āĻŦāĻž āĻĻā§āĻāĻŋ āĻŽāĻžāĻāĻ¸ āĻā§āĻ˛āĻŋāĻā§āĻ° āĻŦā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻ§ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ GitHub āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°ā§āĻĒā§āĻ°āĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤āĨ¤ āĻĢā§āĻ°āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻĄāĻāĻžāĻ° āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĻ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĨ¤
- āĻāĻŋāĻāĻšāĻžāĻŦ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ˛ā§āĻāĻŋāĻ¯āĻŧā§ āĻ°āĻžāĻā§, āĻ¤āĻžāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻā§āĻ¤āĻŋāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŽāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻŋ āĻāĻāĻ¨āĻ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻ° āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻāĻāĻžāĻ°ā§ āĻā§āĻĒāĻ¨āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋāĨ¤
- āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§
āĻāĻ¨āĻ¸:
- YML, āĻāĻžāĻ˛, āĻāĻŽāĻŋ āĻ¤āĻžāĻā§ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻŦāĻžāĻšā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŽāĻŋāĻ āĻŽā§āĻ¸ā§āĻāĻāĻŋ āĻšāĻ˛ "āĻĢāĻŋāĻā§āĻ¸ āĻāĻāĻŽāĻāĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ", āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻĨāĻžāĻ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻŦ āĻ°āĻžāĻāĻ¤ā§ āĻā§āĻ˛ā§ āĻā§āĻā§āĻ¨, āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻā§āĻ˛ āĻ˛āĻžāĻāĻ¨ā§ āĻ˛āĻŋāĻāĻā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻā§āĻāĻ° āĻāĻŦāĻ āĻļāĻžāĻ¸āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻĻāĻžāĻ° āĻ¸āĻžāĻŽāĻ¨ā§ āĻŦāĻ¸āĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻ¨āĻ¨ā§āĻĻāĻĻāĻžāĻ¯āĻŧāĻ āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ¨āĻ¯āĻŧāĨ¤
- āĻĄāĻŋāĻŦāĻžāĻ, āĻāĻŽāĻŋāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛ā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻž, āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ "āĻāĻĒāĻ¨āĻŋ āĻāĻāĻžāĻ°āĻĄāĻ¨" āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻŦā§āĻļāĻŋ; āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ IDEA āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ āĻā§āĻ¯āĻ¸ā§āĻ¤, āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻŋāĻā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ .
- āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻā§āĻ¨ āĻāĻŋāĻā§āĻ° āĻāĻĒāĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻĄāĻāĻžāĻ°ā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻžāĻĻā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻŋ js āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŦāĨ¤
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¸āĻš āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻ°āĻ¯āĻŧā§āĻā§:
āĻāĻāĻžāĻŽā§ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§ āĻāĻŽāĻŋ āĻ¸āĻā§āĻā§ āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻāĻ°āĻŦ
āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻšāĻžāĻāĻā§āĻ¨āĻŦāĻžāĻ 2020 āĻĒāĻŋāĻāĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻ˛āĻ¨ā§āĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻāĻžāĻŦā§ āĻā§āĻ˛āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻ˛āĻŦ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻ¸ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻŽāĻžāĻ° āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻā§āĻ˛āĻŋāĻ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻŦ!
āĻāĻ¤ā§āĻ¸: www.habr.com