TeamCity-Build-Step (Command Line):
#!/bin/bash
set -e
# Download
curl -sSL -H "Authorization: Bearer %env.CODECHARTER_API_KEY%" \
-o codecharter.tar.gz \
https://codecharter.tools/api/v1/cli/linux-x64/1.4.0
mkdir -p codecharter-bin && tar -xzf codecharter.tar.gz -C codecharter-bin
chmod +x codecharter-bin/codecharter
# Analyze with TeamCity Service Messages
codecharter-bin/codecharter analyze . \
--fail-on error \
--output console \
2>&1 | tee codecharter.log
# Optionally publish as artifact
echo "##teamcity[publishArtifacts 'codecharter.log']"
API-Key
In TeamCity: Project → Parameters → Environment variable
CODECHARTER_API_KEY, "Password"-Type. Auf Project-Ebene damit alle
Build-Konfigurationen darauf zugreifen können.
Caching
// .teamcity/CodeCharter.kt (Kotlin DSL)
steps {
script {
name = "Restore cache"
scriptContent = """
mkdir -p ~/.cache/codecharter
# TeamCity Build Cache Plugin oder ähnliches
""".trimIndent()
}
}
Mit TeamCitys eingebauten Build-Caches könnt ihr
~/.cache/codecharter zwischen Builds persistieren.
Self-Hosted Agents
Funktioniert ohne Anpassungen. Der Agent braucht Internet zu
codecharter.tools oder ihr spiegelt das Binary in
ein lokales Artefakt-Repo.