Sobes.tech
Junior

Milyen tapasztalata van a TeamCity-vel?

sobes.tech MI

Válasz az MI-től

A TeamCity-val dolgoztam CI/CD csővezetékek építésén. Build Configurations és Projects konfigurálását végeztem, meghatározva a build, teszt és deploy lépéseket. Különböző futtatókat (Maven, Gradle, Docker, Command Line) használtam. A függőségeket Snapshot és Artifact Dependencies segítségével kezeltem. Trigger-eket (VCS, Schedule, Finish Build) állítottam be. Verziókezelő rendszerekkel (Git) és artefakt tárhelyekkel (Nexus, Artifactory) integráltam. Bővítettem a funkcionalitást pluginek segítségével. Figyeltem a build-ek állapotát és hibalogokat elemeztem. Részt vettem a build agent-ek konfigurálásában.

Egy build lépés konfigurációjának példája:

// Kotlin DSL használatával egy build lépés konfigurációs példája
steps {
    maven {
        name = "Build and Test"
        goals = "clean install"
        mavenExecutable = "%env.M2_HOME%/bin/mvn" // Környezeti változó használata
        jdkHome = "%env.JAVA_HOME%" // Java fejlesztői készlet megadása
        runnerSettings {
            localRepository = TeamCityLocalArtifacts(RelativeArtifactPaths("m2")) // Helyi tárhely testreszabása
        }
    }
}

Összehasonlítás más CI/CD eszközökkel:

Jellemző TeamCity Jenkins GitLab CI/CD CircleCI
Telepítés Külön szerver szükséges Külön szerver szükséges Beépített GitLab-ba SaaS (felhő)
Pipeline konfiguráció UI, Kotlin DSL, XML Groovy (Pipeline as code) YAML YAML
Rugalmasság Magas Nagyon magas Magas Magas
Pluginek Sok Számos Integrációk Munkaorchestráció
Licenc Tulajdonosi (korlátozásokkal) Nyílt forráskódú GitLab-ba beépített Freeware (korlátozásokkal)

Fő tapasztalatom a TeamCity-hez kötött, de általános ismeretem van más CI/CD eszközök működési elveiről is. Képes vagyok ezeket az elveket alkalmazni, platformok között migrálni, és a legmegfelelőbb megoldást kiválasztani adott feladatra.