Skip to content

TeamCity

CodeCharter in einem TeamCity-Build-Step.

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.