Przejdź do treści
Biblioteka skilli
DevOps i chmura · Budowanie i kod

gitlab-ci-variables-secrets

/gitlab-ci-variables-secrets

Opisuje konfigurację zmiennych GitLab CI/CD, zarządzanie sekretami i integrację z zewnętrznymi dostawcami sekretów oraz bezpieczne obchodzenie się z poświadczeniami.

Repozytorium
han ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
08.09.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format20 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 08.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Opisuje konfigurację zmiennych GitLab CI/CD, zarządzanie sekretami i integrację z zewnętrznymi dostawcami sekretów oraz bezpieczne obchodzenie się z poświadczeniami.

Oryginalny opis (EN)

Use when configuring GitLab CI/CD variables, managing secrets, or integrating with external secret providers. Covers secure credential handling.

Jak działa

  1. Variable Types
  2. Variable Scopes
  3. Protected and Masked Variables
  4. File-Type Variables
  5. External Secret Providers
  6. OIDC Authentication
  7. Best Practices
Sekcje z nagłówków SKILL.md, w oryginale · 148 linii, 300 słów
Podgląd SKILL.md
---
name: gitlab-ci-variables-secrets
user-invocable: false
description: Use when configuring GitLab CI/CD variables, managing secrets, or integrating with external secret providers. Covers secure credential handling.
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Grep
  - Glob
---

# GitLab CI - Variables & Secrets

Configure CI/CD variables and manage secrets securely in GitLab pipelines.

## Variable Types

### Predefined Variables

```yaml
build:
  script:
    - echo "Branch: $CI_COMMIT_BRANCH"
    - echo "Commit: $CI_COMMIT_SHA"
    - echo "Pipeline: $CI_PIPELINE_ID"
    - echo "Project: $CI_PROJECT_NAME"
    - echo "Registry: $CI_REGISTRY_IMAGE"
```

### Custom Variables

```yaml
variables:
  NODE_ENV: production
  DATABASE_URL: "postgres://localhost/app"

build:
  variables:
    BUILD_TARGET: dist
  script:
    - npm run build --target=$BUILD_TARGET
```

## Variable Scopes

### Global Variables

```yaml
variables:
  GLOBAL_VAR: "available everywhere"
```

### Job-Level Variables

```yaml
deploy:
  variables:
    DEPLOY_ENV: production
  script:
    - ./deploy.sh $DEPLOY_ENV
```

### Environment-Scoped Variables

Configure in GitLab UI: Settings > CI/CD > Variables

- Scope to specific environments (production, staging)
- Scope to specific branches (main, develop)

## Protected and Masked Variables

### In gitlab-ci.yml

```yaml
variables:
  PUBLIC_KEY:
    value: "pk_test_xxx"
    description: "Stripe public key"
```

### In GitLab UI

Set variables with:

- **Protected**: Only available on protected branches/tags
- **Masked**: Hidden in job logs (requires specific format)
- **Expanded**: Allow variable references within value

## File-Type Variables

```yaml
deploy:
  script:
    - cat $KUBECONFIG  # File variable contents
    - kubectl apply -f deployment.yaml
```

## External Secret Providers

### HashiCorp Vault

```yaml
job:
  secrets:
    DATABASE_PASSWORD:
      vault:
        engine:
          name: kv-v2
          path: secret
        field: password
        path: production/db
```

### Azure Key Vault

```yaml
job:
  secrets:
    API_KEY:
      azure_key_vault:
        name: my-api-key
        version: latest
```

### AWS Secrets Manager

```yaml
job:
  secrets:
    AWS_SECRET:
      aws_secrets_manager:
        name: prod/api-key
        version_id: latest
```

## OIDC Authentication

```yaml
deploy:aws:
  id_tokens:
    AWS_TOKEN:
      aud: https://gitlab.com
  script:
    - >
      aws sts assume-role-with-web-identity
      --role-arn $AWS_ROLE_ARN
      --web-identity-token $AWS_TOKEN
```

## Best Practices

1. Never hardcode secrets in `.gitlab-ci.yml`
2. Use protected variables for production credentials
3. Mask sensitive values to prevent log exposure
4. Prefer OIDC over long-lived credentials
5. Scope variables to minimum required environments
6. Use file-type variables for certificates and keys

Wersje

W bazie nie ma innych skilli o nazwie gitlab-ci-variables-secrets.

Migawka bazy z 28.10.2026 · wersja paczki c56dfbb0c704 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 95gitlab-ci-pipeline-configuration
    Opisuje konfigurację pipeline'ów GitLab CI/CD: strukturę, etapy, kolejność i reguły workflow oraz przebieg wykonania.
  • 90arn-infra-secrets
    Konfiguruje i audytuje sekrety infrastruktury: menedżer sekretów, rotację kluczy, wstrzykiwanie zmiennych i wykrywanie wycieków.
  • 95gitlab-ci-job-configuration
    Opisuje definiowanie zadań GitLab CI: skrypty, środowiska i zależności zadań, ze strukturą zadań i opcjami wykonania.
  • 95wicked-garden-platform-gitlab-ci
    Pisze bezpieczne i zoptymalizowane potoki GitLab CI/CD, konfiguruje runnery i naprawia błędne pipeline'y.
  • 95gcp-secret-manager
    Zabezpiecza sekrety w Google Cloud Secret Manager: konfiguruje polityki IAM, integrację z GKE i zarządzanie wersjami sekretów.
  • 100gitlab-ci
    Pomaga w GitLab CI/CD: plik .gitlab-ci.yml, etapy, artefakty, cache, GitLab Runners i Auto DevOps przy konfiguracji potoków integracji i wdrożeń.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.