InfluxDB: 4. GitHub Actions
Deze documentatie maakt deel uit van de GitHub Actions & GitLab CI-gids. Bekijk de volledige gids hier: Start een echte InfluxDB-service vanuit uw GitHub Actions- of GitLab CI-pipeline, voer uw tests erop uit en ruim deze automatisch weer op.
👋 Welkom bij de Stackhero-documentatie
Stackhero biedt een volledig beheerde InfluxDB cloud-omgeving, ontworpen voor snelheid en eenvoud:
- Onbeperkt schrijven, queries, dashboards, taken en buckets.
- Onbeperkte dataretentie: bewaar uw metrics zo lang als u wilt.
- Onbeperkte netwerk- en schijftransfers, zonder verborgen limieten.
- Updates met één klik: altijd toegang tot de nieuwste functies en fixes.
- Consistente performance en sterke beveiliging op uw eigen private, dedicated infrastructuur.
Met Stackhero kunt u zich volledig richten op uw data en inzichten. Aan de slag gaan met InfluxDB cloud hosting duurt slechts enkele minuten, en elke installatie is geoptimaliseerd voor langdurige betrouwbaarheid.
Om te beginnen slaat u het volgende op als .github/workflows/ci.yml. Vanaf nu zal elke push en pull request tests uitvoeren tegen een echte InfluxDB-instantie.
name: CI met InfluxDB
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
env:
STACKHERO_TOKEN: ${{ secrets.STACKHERO_TOKEN }}
STACK_NAME: ci-influxdb-${{ github.run_id }}-${{ github.run_attempt }}
INSTANCE: "10G" # Pas aan indien nodig (zie stap 3)
REGION: europe
steps:
- uses: actions/checkout@v4
- name: Installeer de Stackhero CLI en de client
run: |
curl -fsSL https://www.stackhero.io/install.sh | sh
apt-get update && apt-get install -y --no-install-recommends jq curl
- name: Maak de InfluxDB-service aan
run: |
set -euo pipefail
STACK_ID=$(stackhero --format=script stack-create --name="$STACK_NAME")
echo "STACK_ID=$STACK_ID" >> "$GITHUB_ENV"
SERVICE_ID=$(stackhero --format=script service-add \
--stack="$STACK_ID" \
--service-store="influxdb" \
--instance="$INSTANCE" \
--region="$REGION")
echo "SERVICE_ID=$SERVICE_ID" >> "$GITHUB_ENV"
stackhero service-wait-for --service="$SERVICE_ID"
- name: Voer tests uit tegen InfluxDB
run: |
set -euo pipefail
config=$(stackhero service-configuration-get --service="$SERVICE_ID" --format=json)
host=$(echo "$config" | jq -r '.configuration.domain')
# Call the InfluxDB health endpoint.
curl -fsS "https://$host:8086/health" | grep -q '"status":"pass"'
echo "✅ InfluxDB is bereikbaar vanuit CI."
# U kunt hier uw eigen test suite uitvoeren met bovenstaande inloggegevens ...
- name: Opruimen (altijd, ook bij fouten)
if: always()
run: |
if [ -n "${SERVICE_ID:-}" ]; then
stackhero service-delete --service="$SERVICE_ID" --confirm
stackhero service-wait-for --service="$SERVICE_ID"
fi
if [ -n "${STACK_ID:-}" ]; then
stackhero stack-delete --stack="$STACK_ID" --confirm
fi
De teardown-stap is ingesteld met if: always() zodat deze altijd wordt uitgevoerd, ongeacht het resultaat. Zo wordt uw InfluxDB-instantie altijd verwijderd en betaalt u niet voor ongebruikte resources.