Bonjour Ă tous.
L'article est Ă©crit dans le style simple de «DevOps for Housewives» des mĂȘmes mĂ©nagĂšres. Il dĂ©crira les surprises que vous pourriez rencontrer lors de la mise en place d'un projet dans TeamCity. Je donnerai Ă©galement des recommandations sur la maniĂšre de contourner ces problĂšmes.
Ce qui suit est basĂ© sur mes deux annĂ©es d'expĂ©rience dans la configuration des builds TeamCity, la lecture de rapports de bogues et l'Ă©change d'opinions avec des collĂšgues de la boutique. Je ne prĂ©tends pas ĂȘtre la vĂ©ritĂ© ultime, car l'approche SDD (Stackoverflow Driven Development) a Ă©tĂ© principalement utilisĂ©e dans le travail.
Un peu d'aide:
- TeamCity â CI (Continous Integration) . "" Gitlab CI, Github Actions .
- (Project) â , . TeamCity ->-> .
- (Build) â . " ", " ", " ". .
- (Build step) â " " "runner type". Bash , Docker .
TeamCity :
- ~30 , Bash, Ansible Python.
- Android , Web , Docker, k8s . , , .
- , Kotlin DSL ( ).
, . "".
1
( ). : , git , cron . .
: . 2008 .
, : . . 1 , 1 . , . .
, build chain ( ). , .
2 Build chain or not â
( + ) build chain. , . , ?
: ( ). . , ( ). , .
, ? , . â . , , , . , "" , ( , ), .
, "" , , : . . : , .
3
3*N , . , , . "", . N , . , , . , , .
, , YAML Developer'.
4
Kotlin DSL ( , ). , : , ?
: " ". : ( ).
- , . â Kotlin DSL.
: / , . , - ID , .
5 TeamCity API
"" 4 DevOps. TeamCity , ("Deployment Frequency" "Lead Time for Changes").
API , . , - , , . , "Assign investigation", . .
, API â build chain - "" . . Python . .
6 Bash
, :
./command_1.sh # always fail
ls # always success
. :
./command_1.sh # always fail
if [ $? -ne 0 ]; then
echo "##teamcity[buildProblem description='Build failed']"
fi
ls # always success
7
TeamCity -, API . , *
. : . echo
â . :
cat > constants.json <<- EOM
{
"key": "%value%"
}
EOM
, , . Python , , JSON. ? , : JSON, , TeamCity. , : JSON. JSON TeamCity . JSON , .
8
. ( Kotlin DSL + TeamCity API), . . ( Firefox Network).
-
- load: 9.87 s
- DOMContentLoaded: 4.92 s
- Finish: 34.39 s
- Size/transferred size of all requests: 10.69 MB / 2.42 MB
- Requests: 345
-
- load: 4.59 s
- DOMContentLoaded: 1.27 s
- Finish: 27.42 s
- Size/transferred size of all requests: 11.53 MB / 2.23 MB
- Requests: 120
Finish â . . , ?
9
. Overview. . 99% . ( -) â ", stderr
", ", stderr
". Ansible - "WARNING: Deprecation setting...". TeamCity. .
10
, (Build agents). TeamCity master , , . (), TeamCity .
â . - , , . , - JAVA_HOME
. . . - , . ( TeamCity "").
â , . , "". , . . " !" â . : build chain? , , , . , "Run build on the same agent". , ?
â . (, root
, ). - , . 90% â print("Hello, World!")
.
( ). , . " â ".