这次演讲是在2016年,但对于想了解TeamCity运作方式的人来说仍然有用。
, . 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 , - .