āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻŋāĻāĻžāĻ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻžāĻā§āĻ° āĻ¨ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĨā§āĻ°ā§āĻĄā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻļā§āĻ°ā§ āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻāĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻ¸āĻš āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻ¸ā§āĻ˛ā§āĻ¨āĻ¯āĻŧā§āĻĄā§ āĻ āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻŦāĻšā§-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ˛āĻā§āĻā§ āĻĒā§āĻāĻā§āĻāĻŋ āĻāĻŦāĻ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ āĻā§āĻŽā§āĻļāĻ¨ āĻā§āĻ˛ āĻĒā§āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°āĻ˛āĻžāĻŽ
āĻ āĻā§āĻā§āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻāĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ āĻā§āĻŽā§āĻļāĻ¨ āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛ āĻ¯āĻž āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĻāĻ°ā§āĻļāĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻāĻŽā§āĻŦā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻāĻŋāĻ¯ā§āĻāĻŋāĻ¤ āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻāĻā§āĻāĻŋāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻāĻ āĻŽāĻžāĻ¨ āĻĒā§āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ:
- āĻāĻžāĻāĻž,
- āĻŽāĻžāĻā§āĻ¨,
- āĻ¸ā§āĻ˛ā§āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ,
- āĻļāĻ¸āĻž + āĻā§āĻ¨āĻŋāĻ 4,
- āĻŽā§āĻšāĻ¨
- GitLabāĨ¤
āĻā§āĻ¨ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸ā§āĻ? āĻāĻžāĻāĻž āĻ
āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻžāĻˇāĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ, āĻāĻŦāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻāĻ˛ā§āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ°āĻž āĻāĻāĻŋ āĻāĻžāĻ¨ā§āĻ¨āĨ¤ āĻ¸ā§āĻ˛ā§āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ āĻšāĻ˛ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĨ¤ āĻļāĻ¸āĻž, āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻŦāĻŋāĻāĻžāĻāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ
āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ¸ā§āĻĨāĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻ
āĻ¨ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻāĻ āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž
āĻāĻžāĻāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻĻā§āĻāĻžāĻŦāĻ¨ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻāĻšāĻžāĻŦā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻŦāĻŋāĻāĻžāĻļ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĻŋāĻ¯āĻŧā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻā§āĻ° āĻ¸āĻš āĻŽā§āĻ˛ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ°ā§ āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸ā§āĻ¨āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĻāĻ˛āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§āĻĄ āĻāĻŽā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻĒ āĻāĻžāĻāĻ¯āĻŧā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻāĻŋ GitLab-CI āĻŦā§āĻ¯āĻžāĻā§āĻā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻāĻĒāĻ° āĻāĻŽāĻ°āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ:
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻĻā§āĻ¨āĻŋāĻ āĻ˛āĻā§āĻ;
- āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻāĻ˛ā§āĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§, āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŋāĻ˛, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻāĻ āĻ¸ā§āĻ°ā§āĻ¤ā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ°āĻžāĻ¨āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻāĻ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ˛āĻā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻļ āĻāĻĒāĻ¯ā§āĻā§āĻ¤: āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻā§āĻā§ āĻā§āĻŦ āĻāĻŽ āĻ˛ā§āĻĄ āĻāĻ°ā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĻŋāĨ¤
āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§, āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻāĻā§āĻ¯āĻ āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻāĻŋāĻ˛, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻĨāĻž āĻā§āĻŦā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻāĻ¨ āĻĒā§āĻ°ā§āĻŖ āĻĻā§āĻĄāĻŧā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¤āĻŋāĻ¨ āĻāĻ¨ā§āĻāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ āĻĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§āĻā§:
- āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻŋāĻ˛ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ;
- āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻĒāĻ°āĻĒāĻ° āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ CI-āĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧāĨ¤
āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<skipTests>${skipTests}</skipTests>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.9</version>
</plugin>
</plugins>
āĻŽā§āĻšāĻ¨ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ°āĻžāĻ¨āĻžāĻ° āĻ˛ā§āĻĄ (8 āĻā§āĻ°, 8 GB RAM, 1 āĻĨā§āĻ°ā§āĻĄ)
āĻāĻāĻ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž:
- āĻ¸ā§āĻ āĻāĻĒ āĻāĻŦāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¸āĻšāĻ;
- CI-āĻ¤ā§ āĻ˛āĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ˛āĻā§āĻāĻā§āĻ˛āĻŋāĻ° āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻ¨āĻ¯āĻŧ;
- āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻā§ āĻ āĻĒāĻ°āĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¨āĻž;
- āĻ°āĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž.
āĻāĻāĻ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž:
- āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻā§;
- āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĻā§āĻ°ā§āĻ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻ¤āĻž;
- āĻ°āĻžāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻ āĻĻāĻā§āĻˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĨ¤
JVM āĻāĻžāĻāĻāĻžāĻāĻžāĻŽāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¸ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĨā§āĻ°ā§āĻĄ-āĻ¸ā§āĻĢ āĻā§āĻĄā§āĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻāĻ¨āĻŋ, āĻ¤āĻžāĻ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻŋāĻ˛
āĻ¸ā§āĻ˛ā§āĻ¨āĻ¯āĻŧā§āĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻāĻŋ 32 āĻā§āĻ° āĻāĻŦāĻ 24 GB RAM āĻ¸āĻš āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¸ā§āĻŽāĻžāĻāĻŋ 48āĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻ°ā§ 1,5 āĻĨā§āĻ°ā§āĻĄ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 400 MB RAMāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻŋāĻ¨ āĻāĻ¨ā§āĻāĻž āĻĨā§āĻā§ āĻāĻŽāĻŋāĻ¯āĻŧā§ 40 āĻŽāĻŋāĻ¨āĻŋāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ°āĻžāĻ¨ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ°āĻž āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§āĻā§: āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ 20-30 āĻŦāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ
āĻā§āĻā§āĻ¸ā§āĻ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻāĻ˛āĻā§āĨ¤
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻŋāĻ˛ āĻ
āĻ˛ā§āĻĒ āĻ¸āĻāĻā§āĻ¯āĻ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĨā§āĻ°ā§āĻĄ āĻ¸āĻš āĻ°āĻžāĻ¨āĻžāĻ°āĻĻā§āĻ° āĻāĻā§āĻ āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: 4 āĻā§āĻ° āĻāĻŦāĻ 8 āĻāĻŋāĻāĻžāĻŦāĻžāĻāĻ āĻ°âā§āĻ¯āĻžāĻŽā§, āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ 6āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ āĻĨā§āĻ°ā§āĻĄā§ āĻ¸ā§āĻĨāĻŋāĻ°āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦāĻŋāĻ¯āĻŧā§āĻ: āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¨āĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¯āĻ¤āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨āĨ¤
āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ! āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻĒāĻžāĻ¸ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž argLine, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻ āĻŽāĻ¤:
<argLine>-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"</argLine>
âĻ
Mvn âDTAGS="@smoke"
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻžāĻŦā§ āĻā§āĻ¯āĻžāĻāĻāĻŋ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨, āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§, āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§, āĻ˛āĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ¤ā§ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ JVM āĻĢāĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤
āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§āĻ¨ āĻā§āĻ¯āĻžāĻ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§, āĻ¨ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻāĻŋ, Allure āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§āĨ¤
āĻā§āĻ˛ āĻ¸ā§āĻāĻāĻĒ āĻ¸āĻš 6āĻāĻŋ āĻā§āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
[INFO] Total time: 03:17 min
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻā§āĻ¯āĻžāĻ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ°āĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ mvn... -Dcucumber.options:
[INFO] Total time: 44.467 s
āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
<profiles>
<profile>
<id>parallel</id>
<build>
<plugins>
<plugin>
<groupId>com.github.temyers</groupId>
<artifactId>cucumber-jvm-parallel-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<id>generateRunners</id>
<phase>generate-test-sources</phase>
<goals>
<goal>generateRunners</goal>
</goals>
<configuration>
<tags>
<tag>${TAGS}</tag>
</tags>
<glue>
<package>stepdefs</package>
</glue>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<forkCount>12</forkCount>
<reuseForks>false</reuseForks>
<includes>**/*IT.class</includes>
<testFailureIgnore>false</testFailureIgnore>
<!--suppress UnresolvedMavenProperty -->
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" -Dcucumber.options="--plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm TagPFAllureReporter --plugin pretty"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
āĻ
ā§āĻ¯āĻžāĻ˛ā§āĻ¯ā§āĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ
āĻ¸ā§āĻĨāĻŋāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž, 4āĻāĻŋ āĻĒā§āĻ¨āĻāĻ°āĻžāĻ¨)
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ°āĻžāĻ¨āĻžāĻ° āĻ˛ā§āĻĄ (8 āĻā§āĻ°, 8 GB RAM, 12 āĻĨā§āĻ°ā§āĻĄ)
āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž:
- āĻ¸āĻšāĻ āĻ¸ā§āĻāĻāĻĒ - āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§;
- āĻāĻāĻ¯ā§āĻā§ āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻāĻā§āĻ¯āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž;
- āĻāĻāĻā§āĻŽ 1 āĻāĻ° āĻāĻžāĻ°āĻŖā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¤ā§āĻŦāĻ°āĻŖāĨ¤
āĻāĻ¨āĻ¸:
- āĻāĻāĻžāĻ§āĻŋāĻ OS/āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨;
- āĻāĻžāĻāĻāĻž āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻ°āĻ;
- āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻāĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧā§ˇ
āĻāĻŋāĻāĻžāĻŦā§ āĻ āĻ¸ā§āĻĨāĻŋāĻ°āĻ¤āĻž āĻšāĻžāĻ°āĻžāĻ¨ā§
āĻā§āĻ¸ā§āĻ āĻŦā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻā§āĻāĻ¤ āĻ¨āĻ¯āĻŧ, āĻ āĻŋāĻ āĻ¯ā§āĻŽāĻ¨ āĻ¨āĻŋāĻā§āĻ°āĻž āĻ
āĻā§āĻā§āĻ¸ā§āĻ āĻāĻ°ā§āĨ¤ āĻāĻļā§āĻāĻ°ā§āĻ¯ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĻā§āĻ§āĻžāĻ°ā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻ¨
āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
âĻ.
<rerunFailingTestsCount>2</rerunFailingTestsCount>
âĻ.
</configuration>
</plugin>
āĻ
āĻĨāĻŦāĻž āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§: mvn ... -Dsurefire.rerunFailingTestsCount=2 ...
āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻžāĻŦā§, PowerShell āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ (PS1) āĻāĻ° āĻāĻ¨ā§āĻ¯ Maven āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨:
Set-Item Env:MAVEN_OPTS "-Dfile.encoding=UTF-8 -Dsurefire.rerunFailingTestsCount=2"
āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž:
- āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻĨāĻŋāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯āĻāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ;
- āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻā§āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻāĻ āĻŽāĻ¸ā§āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻāĻ¨āĻ¸:
- āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¸āĻŽāĻžāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨;
- āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻļāĻ¸āĻž 4 āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž
āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻ¤ā§ āĻĨāĻžāĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻāĻŦāĻžāĻ°āĻ āĻ°āĻžāĻ¨ā§āĻ° āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻĨāĻž āĻā§āĻŦā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŽāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŽā§āĻŦā§āĻĄ āĻāĻ°āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻŽāĻžāĻā§āĻ¨ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ°āĻžāĻ¨āĻžāĻ°āĻĻā§āĻ° āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻ°āĻŖ āĻāĻŋāĻ˛āĨ¤
āĻ¸ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻļāĻ¸āĻž 4 āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĨā§āĻ°ā§āĻĄ āĻ¸ā§āĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ˛āĻā§āĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻāĻŋāĻ˛:
- āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻĨā§āĻ°ā§āĻĄ āĻ¸āĻāĻā§āĻ¯āĻž āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°ā§ āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧ;
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻ¨āĻžāĻ°āĻĻā§āĻ° āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻĻā§āĻ° āĻāĻ°ā§āĨ¤
āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ
āĻā§āĻā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻāĻŋ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻāĻ¤ āĻāĻ āĻŋāĻ¨ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻļāĻ¸āĻž 4 āĻļā§āĻ°ā§ āĻĨā§āĻā§ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻāĻāĻŋ āĻĄā§āĻĄāĻŋāĻā§āĻā§āĻĄ āĻĨā§āĻ°ā§āĻĄā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻŋāĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻā§āĻŦāĻ˛ ThreadLocal āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻāĻĄāĻŋāĻ¯āĻŧāĻž āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻ°āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻšāĻ˛ āĻ¸ā§āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻžāĻ˛ āĻā§āĻ āĻāĻ°āĻž)āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ¨āĻŋāĻ āĻ°āĻžāĻ¨āĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻā§āĻāĻžāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻ˛ā§āĻ° āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
<profile>
<id>parallel</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<useFile>false</useFile>
<testFailureIgnore>false</testFailureIgnore>
<parallel>methods</parallel>
<threadCount>6</threadCount>
<perCoreThreadCount>true</perCoreThreadCount>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
āĻ ā§āĻ¯āĻžāĻ˛ā§āĻ¯ā§āĻ° āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ āĻ¸ā§āĻĨāĻŋāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž, 5āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛āĻžāĻ¨ā§)
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ°āĻžāĻ¨āĻžāĻ° āĻ˛ā§āĻĄ (8 āĻā§āĻ°, 8 GB RAM, 24 āĻĨā§āĻ°ā§āĻĄ)
āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž:
- āĻāĻŽ āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻ°āĻ;
- āĻļāĻ¸āĻž āĻĨā§āĻā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ - āĻā§āĻ¨ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ;
- āĻĒā§āĻ°āĻ¤āĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻā§āĻ°ā§ 6āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ āĻĨā§āĻ°ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
āĻāĻ¨āĻ¸:
- āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻā§āĻĄāĻāĻŋ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§;
- āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ˛ā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨
āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ˛āĻā§āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒāĻ°, āĻāĻŽāĻ°āĻž āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻ¸ā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨āĻā§ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻāĻŋ āĻā§āĻŦ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ° āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ āĻŦāĻžāĻ¸āĻžāĻ¯āĻŧ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¤āĻžāĻā§āĻ āĻāĻāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¤ā§ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ - āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋā§ˇ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯āĻž āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻŦāĻžāĻā§āĻ¸ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻžāĻāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛āĻŋāĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
Allure āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻ GitLab āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ GitLab āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ - Windows PowerShell-āĻ (āĻāĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§):
New-Item -ItemType directory -Path $testresulthistory | Out-Null
try {Invoke-WebRequest -Uri $hst -OutFile $outputhst}
Catch{echo "fail copy history"}
try {Invoke-WebRequest -Uri $hsttrend -OutFile $outputhsttrnd}
Catch{echo "fail copy history trend"}
mvn allure:report
#mvn assembly:single -PzipAllureReport
xcopy $buildlocationtargetsiteallure-maven-plugin* $buildlocationpublic /s /i /Y
āĻāĻŋ āĻļā§āĻˇā§
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻļāĻ¸āĻž āĻ āĻā§āĻā§āĻ¸ā§āĻ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĨā§āĻ°ā§āĻĄ āĻ¸ā§āĻĢ āĻā§āĻĄā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻŦāĻā§āĻ¨, āĻāĻāĻ¨ āĻāĻ¤ā§āĻ¤āĻ°āĻāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ - āĻļāĻ¸āĻž 4 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻ¸āĻšāĻ, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§, āĻĒā§āĻ°āĻļā§āĻ¨āĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¸ā§āĻ˛ā§āĻ¨āĻ¯āĻŧā§āĻĄ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻŦā§āĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§āĨ¤
āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ āĻĻā§āĻāĻŋāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻĨā§āĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
āĻā§āĻā§āĻ¸ā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŽāĻžāĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻā§āĻ°āĻžāĻĢ āĻĨā§āĻā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻĨā§āĻ°ā§āĻĄā§āĻ° 2x āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻāĻ¤ā§āĻ¤ā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻ āĻ°āĻāĻŽ āĻ¤ā§āĻŦāĻ°āĻŖā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¤āĻŦā§āĻ, āĻāĻŽāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄā§ 200 āĻāĻŋāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋ, āĻ¯āĻž 5āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§āĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 24 āĻŽāĻŋāĻ¨āĻŋāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻŦāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com