рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдкреИрдорд╛рдирд╛: рд╡реАрдЯреАрдмреА рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡

рд╣рдорд╛рд░рд╛ рдкреНрд░рднрд╛рдЧ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдПрдХ рдХрд╣рд╛рдиреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ, рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдб рдкрд░реАрдХреНрд╖рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рд╣рдо GitLab рдкреЗрдЬреЛрдВ рдкрд░ рдПрдХ рдПрд▓реНрдпреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд╕реЗрд▓реЗрдиреЙрдЗрдб рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЗ рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪреЗ рдФрд░ рдЕрдВрддрддрдГ рдПрдХ рдЕрдЪреНрдЫрд╛ рдСрдЯреЛрдореЗрд╢рди рдЯреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд▓реЛрдЧ рдЯреАрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдкреИрдорд╛рдирд╛: рд╡реАрдЯреАрдмреА рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡

рд╣рдордиреЗ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреА?

рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рди рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХреЗред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдореИрдВ рдСрдЯреЛрдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдорд╛рдирдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХреЛ рдЪреБрдирд╛:

  • рдЬрд╛рд╡рд╛,
  • рдорд╛рд╡реЗрди,
  • рд╕реЗрд▓реЗрдирд┐рдпрдо,
  • рдЦреАрд░рд╛+рдЬреВрдирд┐рдЯ 4,
  • рд▓реБрднрд╛рдирд╛,
  • GitLabред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдкреИрдорд╛рдирд╛: рд╡реАрдЯреАрдмреА рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯ рдХреНрдпреЛрдВ? рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдФрд░ рдЯреАрдо рдХреЗ рд╕рднреА рд╕рджрд╕реНрдп рдЗрд╕реЗ рдмреЛрд▓рддреЗ рд╣реИрдВред рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИ. рдХрдХрдбрд╝реА, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдиреНрдпреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд┐рднрд╛рдЧреЛрдВ рдХреА рдУрд░ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдмрдврд╝рд╛рдиреЗ рд╡рд╛рд▓реА рдереАред

рдПрдХрд▓ рдереНрд░реЗрдбреЗрдб рдкрд░реАрдХреНрд╖рдг

рдкрд╣рд┐рдП рдХрд╛ рджреЛрдмрд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЧрд┐рдЯрд╣рдм рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдореБрдЦреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдореВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рд╣рдорд╛рд░реЗ рдХреЛрд░ рдкрд░ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд╕реНрд╡рд░реНрдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдИред рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдо рдХреЛ рд╕реЛрдиреЗ рдХреА рдЫрд╡рд┐ рд▓реЗрдиреА рдереА рдФрд░ рдЙрд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдерд╛, рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдерд╛ред рд╣рдордиреЗ рдЗрд╕реЗ GitLab-CI рдмреИрдВрдХ рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕ рдкрд░ рд╣рдордиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛:

  • рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рд▓рд┐рдЦрд┐рдд рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХрд╛ рджреИрдирд┐рдХ рд╕рдВрдЪрд╛рд▓рди;
  • рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдкрд╣рд▓реЗ рддреЛ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╣реБрдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдзрд╛рд░рд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд┐рдВрдбреЛрдЬрд╝ рд░рдирд░ GitLab рдкрд░ рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рд░рдирд┐рдВрдЧ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд░рд╣реА: рдкрд░реАрдХреНрд╖рдгреЛрдВ рдиреЗ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдХреЛ рдмрд╣реБрдд рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд▓рдЧрднрдЧ рдХреЛрдИ рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╕рдордп рдХреЗ рд╕рд╛рде, рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИ, рдФрд░ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рдЬрдм рдПрдХ рдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд▓рдЧрднрдЧ рддреАрди рдШрдВрдЯреЗ рд▓рдЧрдиреЗ рд▓рдЧреЗред рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рдЖрдИрдВ рд╕рд╛рдордиреЗ:

  • рд╣рдо рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рд░ рдереЗ;
  • рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдХрднреА-рдХрднреА рд╕реАрдЖрдИ рдореЗрдВ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддреЗ рдереЗред

рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

<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 рдЬреАрдмреА рд░реИрдо, 1 рдереНрд░реЗрдб)
 
рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд╛рдн:

  • рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рдЖрд╕рд╛рди;
  • рд╕реАрдЖрдИ рдореЗрдВ рд▓реЙрдиреНрдЪ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд▓реЙрдиреНрдЪ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИрдВ;
  • рдкрд░реАрдХреНрд╖рдг рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ;
  • рдзрд╛рд╡рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБред

рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдиреБрдХрд╕рд╛рди:

  • рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛;
  • рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕реНрдерд┐рд░реАрдХрд░рдг;
  • рдзрд╛рд╡рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЕрдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ, рдЕрддреНрдпрдВрдд рдХрдо рдЙрдкрдпреЛрдЧред

рдЬреЗрд╡реАрдПрдо рдлреЛрд░реНрдХреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг

рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдмреЗрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рд░рдЦрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдерд╛ рдХрдХрдбрд╝реА-рдЬреЗрд╡реАрдПрдо-рд╕рдорд╛рдирд╛рдВрддрд░-рдкреНрд▓рдЧрдЗрди рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП. рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╣реА рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЛ рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд░рдиреЗ рдХреЛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд╕реЗрд▓реЗрдиреЙрдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╕рд░реНрд╡рд░ рдХреЛ 32 рдХреЛрд░ рдФрд░ 24 рдЬреАрдмреА рд░реИрдо рд╡рд╛рд▓реА рдорд╢реАрди рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реАрдорд╛ 48 рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдереА - 1,5 рдереНрд░реЗрдб рдкреНрд░рддрд┐ рдХреЛрд░ рдФрд░ рд▓рдЧрднрдЧ 400 рдПрдордмреА рд░реИрдоред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдордп рддреАрди рдШрдВрдЯреЗ рд╕реЗ рдШрдЯрд╛рдХрд░ 40 рдорд┐рдирдЯ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рд░рдиреЛрдВ рдХреЛ рддреЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рд╕реНрдерд┐рд░реАрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реА: рдЕрдм рд╣рдо 20-30 рдмрд╛рд░ рдирдП рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рдереЗ рдЬрдм рддрдХ рдХрд┐ рд╣рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╡реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред
рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкрд╣рд▓рд╛ рджреЛрд╖ рд╕рдорд╛рдирд╛рдВрддрд░ рдзрд╛рдЧреЛрдВ рдХреА рдХрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдзрд╛рд╡рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдЪреНрдЪ рдЙрдкрдпреЛрдЧ рдерд╛: 4 рдХреЛрд░ рдФрд░ 8 рдЬреАрдмреА рд░реИрдо рдкрд░, рдкрд░реАрдХреНрд╖рдг 6 рд╕реЗ рдЕрдзрд┐рдХ рдзрд╛рдЧреЛрдВ рдореЗрдВ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд▓реЗред рджреВрд╕рд░рд╛ рдиреБрдХрд╕рд╛рди: рдкреНрд▓рдЧрдЗрди рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рд░рдирд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рднреА рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реЛрдВред

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдкрд╛рд╕ рди рдХрд░реЗрдВ argLine, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

<argLine>-Dcucumber.options="--tags ${TAGS} --plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm --plugin pretty"</argLine>
тАж
Mvn тАУDTAGS="@smoke"

рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреИрдЧ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд▓рдЧрдЗрди рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд░рдирд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рдпрд╛рдиреА, рдпрд╣ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рд▓реЙрдиреНрдЪ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ рдФрд░ рдХрдИ рдЬреЗрд╡реАрдПрдо рдлреЛрд░реНрдХ рдмрдирд╛рдПрдЧрд╛ред

рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдлреЗрдВрдХрдирд╛ рд╕рд╣реА рд╣реИ рдЯреИрдЧ рдкреНрд▓рдЧрдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдореЗрдВ рдПрд▓реНрдпреЛрд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВред

рдЧрд▓рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде 6 рд▓рдШреБ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рдХреЗ рд╕рдордп рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

[INFO] Total time: 03:17 min

рдпрджрд┐ рдЖрдк рдЯреИрдЧ рдХреЛ рд╕реАрдзреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рдордп рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдорд╡реАрдПрди... -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 рдЬреАрдмреА рд░реИрдо, 12 рдереНрд░реЗрдб)
 
рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдЖрд╕рд╛рди рд╕реЗрдЯрдЕрдк - рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ;
  • рдПрдХ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
  • рдЪрд░рдг 1 рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рд░реАрдХрд░рдг рдХрд╛ рддреНрд╡рд░рдгред 

рд╡рд┐рдкрдХреНрд╖:

  • рдПрдХрд╛рдзрд┐рдХ рдУрдПрд╕/рдХрдВрдЯреЗрдирд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛;
  • рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд;
  • рдкреНрд▓рдЧрдЗрди рдкреБрд░рд╛рдирд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред 

рдЕрд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдХреИрд╕реЗ рджреВрд░ рдХрд░реЗрдВ 

рдЯреЗрд╕реНрдЯ рдмреЗрдВрдЪ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреА рддрд░рд╣ред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдХрдордЬреЛрд░ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВред рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдореЗрд╡реЗрди рдЕрдЪреВрдХ рдкреНрд▓рдЧрдЗрди, рдЬреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╡рд┐рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХрдо рд╕реЗ рдХрдо 2.21 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреЛрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреБрдирд░рд╛рд░рдВрдн рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦрдиреА рд╣реЛрдЧреА рдпрд╛ рдЗрд╕реЗ рдореЗрд╡реЗрди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

   	
<plugin>
        	
<groupId>org.apache.maven.plugins</groupId>
  	
      <artifactId>maven-surefire-plugin</artifactId>
        	
<version>2.21.0</version>
        	
<configuration>
           	
тАж.
            	
<rerunFailingTestsCount>2</rerunFailingTestsCount>
            	
тАж.
            	
</configuration>
</plugin>

рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░: рдПрдорд╡реАрдПрди тАж -Dsurefire.rerunFailingTestsCount=2 тАж
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдкреЙрд╡рд░рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (PS1) рдХреЗ рд▓рд┐рдП рдорд╛рд╡реЗрди рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░реЗрдВ:

  
Set-Item Env:MAVEN_OPTS "-Dfile.encoding=UTF-8 -Dsurefire.rerunFailingTestsCount=2"

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдХрд┐рд╕реА рдЕрд╕реНрдерд┐рд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдкрд░ рдЙрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;
  • рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рд╕реНрдерд┐рд░рддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖:

  • рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рджреЛрд╖ рдЫреВрдЯ рд╕рдХрддреЗ рд╣реИрдВ;
  • рд░рди рдЯрд╛рдЗрдо рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ.

рдХрдХрдбрд╝реА 4 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд░реАрдХреНрд╖рдг

рд╣рд░ рджрд┐рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рдЧрдИред рд╣рдордиреЗ рдлрд┐рд░ рд╕реЗ рд░рдиреЛрдВ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред' рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╕реЗрдВрдмрд▓реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рдпрд╣ рдерд╛ рдХрд┐ рдореЗрд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рджреМрдбрд╝рдиреЗ рдкрд░ рдзрд╛рд╡рдХреЛрдВ рдХреА рдкреАрдврд╝реА рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрд╛ред

рдЙрд╕ рд╕рдордп, рдХрдХрдбрд╝реА 4 рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ рдореЗрдВ рд╣рдореЗрдВ рдереНрд░реЗрдб рд╕реНрддрд░ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рд▓реЙрдиреНрдЪ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:

  • рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдХрд░ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬреА рд▓рд╛рдПрдБ;
  • рдкреНрд░рддреНрдпреЗрдХ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд░рдирд░ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреА рд╣рд╛рдирд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред

рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рдХрдХрдбрд╝реА 4 рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдереИрддрд┐рдХ рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╕ рдереНрд░реЗрдбрд▓реЛрдХрд▓ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 
рдЖрдЗрдбрд┐рдпрд╛ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдирд╡рд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдореБрдЦреНрдп рдмрд╛рдд рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХреА рдЧрдИ рдереА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реВрдиреНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЬреБрдирд┐рдЯ рд░рдирд░ рдХреНрд▓рд╛рд╕ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рдПрд▓реНрдпреВрд░ рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

 
<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 рдЬреАрдмреА рд░реИрдо, 24 рдереНрд░реЗрдб)

рдкреЗрд╢реЗрд╡рд░реЛрдВ:

  • рдХрдо рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд;
  • рдХрдХрдбрд╝реА рд╕реЗ рдореВрд▓ рд╕рдорд░реНрдерди - рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ;
  • рдкреНрд░рддрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ 6 рд╕реЗ рдЕрдзрд┐рдХ рдереНрд░реЗрдб рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

рд╡рд┐рдкрдХреНрд╖:

  • рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдб рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ;
  • рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

GitLab рдкреЗрдЬреЛрдВ рдкрд░ рдПрд▓реНрдпреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ

рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЙрд╕ рд╕рдордп, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдПрдХ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ GitLab рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдерд╛, рдлрд┐рд░ рдЙрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рдерд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рд╕реНрд╡рдпрдВ рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рднреА рд╡рд╣реА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ. рд╣рдо рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рдФрд░ рд╣рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ - GitLab рдкреЗрдЬред рдпрд╣ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ GitLab рдХреЗ рд╕рднреА рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдПрд▓реНрдпреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рднреА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ 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 рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде, рдЕрдм рд╕рд╡рд╛рд▓ рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╡рд╛рд▓реА рдорд╢реАрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрди рдЬрд╛рддрд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдереНрд░реЗрдбреНрд╕ рдкрд░ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЖрдк рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЛ рдиреНрдпреВрдирддрдо рддрдХ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдереНрд░реЗрдбреНрд╕ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рддреЗрдЬреА рдирд╣реАрдВ рдЖрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рд▓реНрдб рдореЗрдВ 2 рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдЬреЛ 200 рдкреБрди: рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд▓рдЧрднрдЧ 5 рдорд┐рдирдЯ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдк рдЙрдирд╕реЗ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ