Using TeamCity internally at JetBrains. Evgeny Koshkin (2016)

This talk is 2016, but it's still useful for those who want to understand how TeamCity works.







, . TeamCity. 7 . – dotnet TeamCity. dotnet . . , , . .



TeamCity JetBrains , . , , .



, , - , .



. .





JetBrains – 4- , , , , TeamCity .



20 . 16 4 . , . - , , - .



. 500 , . , . , , . - Javascript .



, , 5 . . .



, -, 3 000 000 , . . . , . .





TeamCity – . 10- . . . - .



5 bugfix . - . bugfix , - .



TeamCity , , . . , , , , , , . , , . , , , .





TeamCity, JetBrains. , , .



JetBrains . , , , , build , java . build . JetBrains TeamCity.



. . , , . Git, Git. . . – , dotnet, java . ., TeamCity .



. :



  • 500 .
  • 4 000 .
  • 300 build .
  • Builds . , build – 53 269.
  • build 25 . builds , 3 000 . , , build- , builds.
  • 6 000 .


. . build- . , , .





?



  • -, TeamCity , , , , , build agents . . .
  • . . , . , , . TeamCity. . .
  • build agents, . Build agents , 300 . environment , . - .
  • , TeamCity , . . 10- , TeamCity , .
  • TeamCity.
  • TeamCity, . . , , , .


, build-, , , .



, TeamCity.





TeamCity competition green, . . , - . – build agents. . . . version control, control . . .



, , build agents, . , , . . , , . restart, . . , .



, - , , , , , . , builds . , , .





Build Agent – java-, , - . , , . - , . .



, , . , - . . . . , TeamCity builds, , . builds , …, dotnet .





, , , , . . . , tools . . , . . , - tools, .



environment built agents , , .





Build configuration – TeamCity. , , . , , , , builds , , , , , , .





Build configuration . , , build configuration, , . . , .



, , . , version control, SSH , , , .



, , . . , . .



– . , - , deployment production, , builds , . , , deployment.



TeamCity , . . .



– , , , , TeamCity , root’ , - project admin’ TeamCity. . . , , .



10- , , . , . . 10- , , , .



. , , . . . , - , . , , . . , . .



. . , . , , TeamCity JetBrains, , , instance TeamCity TeamCity . , 500 , . , . , .





– . .



– .



. , API - runtime, , , build, TeamCity . build , . . , - build. , , . bulid’ .



. , TeamCity, builds, . , TeamCity , build . TeamCity , build , , .



builds – , . , .



.





, . - TeamCity . build configuration template.



- . , . - , , . build agents . , , VCS Trigger, . . , .



? , , build agents, .



, builds . . . . Linux, build , . . . . , .





, , . ? . . . - . , - , , -, . .





– . . , , , builds , . . , version control, . , version control , . . . .



. .



  • -, , , builds. . . - , - build , , . . - .
  • builds .
  • , .
  • build pipeline, . . - continuous delivery pipeline, TeamCity .
  • , , , build, .


.



– builds.





. - . . - Windows , Linux - , .



runtime Linux Windows API . : - .



, . . . build agents Windows Linux. Windows, Linux. , , build , builds.





? build , sorts . – . - , . , . build , , - . .



, TeamCity , . . . - , . . - , , - build agents, , . . , builds . , build, build build.





, - A, - B. , , .





. . . , , builds, .



TeamCity , builds , . . , builds – build chain. TeamCity. build chain .



, , . TeamCity , . , . artifactory, , - .



, TeamCity , , , .



, , . TeamCity , , , -, - . . , . , , - - staging production. root’ , deploy . . root’ , . , , .





– builds .





. . , , , . , . trigger after. . . , build .



, build . , .





TeamCity . , , , . . . build . - . Graf , TeamCity . .



build TeamCity. , root’ « build », . . TeamCity builds, builds, , , , .





- Windows , , TeamCity , build chain , , build . , . , build . , build agents, . . builds .





build time .



. build time, , 3 558 . 870 + 509 builds.





, build agents, build agents , builds .



? . , , .



Manage application components version



, – , .





builds , , build chain, , builds build chain.



build .



, A, - , foo build. build B chain, . . build, B , , .





? , - , , - , . - , build . - , build build. – - – - TeamCity.



, , , - , . . 4 , .



, , - . . , builds , . . , . , , , , build number. build number – . . 10 builds , 11, 11 build number, 10. .





? , build chain build build . .



. dependency - ID property, . . , version, , , 1.0.build number, . . build number . build . , builds .



read only , . . , - . . . revers , ID - . . . ID, . - - .



, , , , - . , isRelease, . exception, - . config, . , , isRelease .



- build, . build , – build , « isRelease true». . builds , builds . , , .





– continues delivery.





, - , , , staging, production.



- acceptance tests. deploy on staging. build . deploy to production.



, pipeline , . . . - pipeline , - - , . . - .



, ? , , version control , acceptance tests staging, , production , . ?





-, , , . . , deploy production build dist. Deploy on staging acceptance tests. build dist, .





VCS Trigger , . . staging . , .





? , build promotion. Promote – , build , , build pipeline , .





. ekoshkin, . , , - , , .





root’ – build app. - build, . . - .





, . build - .





action. build.





«promote». , . . , . build .



, , production staging. build , , «promote». , .





build - , , . . - , . . build .



«promote». build production. , . . – .





, build, . , , , , .



setup?



Demoapp, . . , , . . , deployment, . , deployment, . , , . , , builds, .



. , , devops deployment, . , , , deployment. - , deployment. , SSH production . . , , . – promote, . . promote , . , , , , , .



Promote – ?



, promote – . production , VCS trigger .



?



. , : , . , . . , . , .



, TeamCity, ?



/ . / – , - . , . build , , , , , , .



, - ?



, . . , – . . . - , , , , . , . , , - , .



Promote ?



Promote – - flow, . , – .



downgrade ?



downgrade, , , , - state, . . . . , TeamCity . , , , bugfix . , , . . 10 10.1. bagfix , , downgrade bugfix . . , .



, - , , - , - . . , , -, , , . , , .





, . , VCS. «trigger a build on changes in snapshot dependencies», .





rules. Add trigger rule include, exclude rule VCS user name, VCS root, comment regexp file wildcard . , , rules . .





builds. , .





, . - . , Windows - Linux . . , - . VCS trigger, build .





- build. , , . . - , , , .



build Linux , . 3. Windows 2 . , 4 . , .



, , , . . . , .



build - , build, , .





history build. run custom build , changes. , changes , . build . , . . TeamCity , , . , . - - chains build , . , , . build agents, . . feedback , build.



. , builds , build 1 , , - build . build .



, , . . build , , build. - , .



, ?



. , , . . , , . . , TeamCity .



?



, . – , , . . . - API. – , , , , . . , , , : Mac, Linux, Windows. . . .



– build. build, . . , , . , - build.



, , jobs, slave Bamboo – . , . TeamCity. , - , . promotion, , continuous delivery , - .





1 4?



4 . , - . . TeamCity meta version control. cross-repository. , , . .



, - . . TeamCity . , chain partners, Git, , TeamCity . . . timestamp , - .




All Articles