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

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



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


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

  • рдЬрд╛рд╡рд╛,
  • Maven,
  • рд╕реЗрд▓реЗрдирд┐рдпрдо,
  • рдХрдХрдбрд╝реА + рдЬреВрди 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 рдереНрд░реЗрдб)

рдПрдХрд▓-рдкрд┐рд░реЛрдпрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреНрд▓рд╕:

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

рдПрдХрд▓-рдкрд┐рд░реЛрдпрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╡рд┐рдкрдХреНрд╖:

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

рдЬреЗрд╡реАрдПрдо рдлреЛрд░реНрдХ рдЯреЗрд╕реНрдЯ


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

рд╕реЗрд▓реЗрдиреЙрдЗрдб рд╕рд░реНрд╡рд░ рдХреЛ 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 

рдЯреЗрд╕реНрдЯ рд░рди рдЯрд╛рдЗрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдЯреИрдЧ рдХреЛ mvn рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ ...

 [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> 

рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░: mvan ... -Dureurefire.rerunFailingTestsCount = 2 ...
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ (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 рдХреЗ рд╕рднреА рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯреЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

GureLab рдкреГрд╖реНрдареЛрдВ рдореЗрдВ Allure рд░рд┐рдкреЛрд░реНрдЯ рд╡рд╛рд▓реЗ рд╕рднреА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдмрдирд╛рдП рдЧрдП рдереЗред рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ GitLab рдкреГрд╖реНрдареЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ Windows PowerShell (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдкрдХреЛ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):

 New-Item -ItemType directory -Path $testresult\history | 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 $buildlocation\target\site\allure-maven-plugin\* $buildlocation\public /s /i /Y 

рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ?


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

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

Source: https://habr.com/ru/post/hi473950/


All Articles