La notification article 14 commence le 11 September 2026.Voir ce qu'il faut avoir en place

CI/CD pour le chemin de reconstruction

Lorsque vous devez reconstruire l'environnement qui a produit une version concernée, installez le même Blueprint en CI, épinglé de la même façon sur x86 et arm64.

Où le CI s'inscrit dans la boucle

Le retracage aboutit à un environnement de compilation, pas à un binaire. Une fois qu'une version est liée au Blueprint qui l'a produite, le même Blueprint s'installe en CI, pour que le pipeline qui livre le correctif soit celui qui a construit l'original.

Cela compte des années plus tard. L'environnement d'une version livrée peut être reconstruit à partir de sa version de Blueprint épinglée, chaque téléchargement de chaîne d'outils étant vérifié contre son hash épinglé, puis servir à construire le correctif et à le téléverser comme nouvelle version dans la surveillance.

Épinglez la version à reproduire

Les Blueprints sont versionnés : un pipeline épinglé à un tag exact installe cet environnement et aucun autre. Épinglez la version enregistrée comme provenance de compilation de la version, et la reconstruction part de la même chaîne d'outils qui a produit le binaire concerné.

alloy-provisioner install --docker community/raspberry-pi/raspberry-pi-5:1.0.3

Mise en cache entre les exécutions

Les environnements installés peuvent être mis en cache entre les exécutions du pipeline, pour qu'une reconstruction ne retélécharge pas toute la chaîne d'outils à chaque fois.

Stratégie de cache recommandée :

  • • Mettre en cache le répertoire d'installation d'alloy-provisioner
  • • Mettre en cache les téléchargements de Blueprints par version
  • • Invalider le cache uniquement lorsque la version du Blueprint change

Extraits de pipelines d'exemple

GitHub Actions

name: Build Firmware

on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7

      - name: Install alloy-it Environment
        run: |
          alloy-provisioner install community/raspberry-pi/raspberry-pi-5:1.0.3
          
      - name: Build Firmware
        run: |
          source alloy-env.sh
          make firmware
          
      - name: Upload Artifacts
        uses: actions/upload-artifact@v7
        with:
          name: firmware
          path: build/firmware.bin

GitLab CI

build_firmware:
  image: ubuntu:22.04
  script:
    - apt-get update && apt-get install -y curl
    - curl -fsSL https://raw.githubusercontent.com/alloy-it/alloy-provisioner-releases/main/scripts/install.sh | bash
    - alloy-provisioner install community/raspberry-pi/raspberry-pi-5:1.0.3
    - source alloy-env.sh
    - make firmware
  artifacts:
    paths:
      - build/firmware.bin

Ce que produit le pipeline

L'image corrigée est la fin du volet reproduire et le début du cycle de surveillance suivant : téléversez-la comme nouvelle version pour que le correctif soit inventorié et scanné comme tout le reste de ce que vous avez mis sur le marché.

Artefacts de compilation

Firmware compilé, binaires et paquets

Paquets

Paquets Debian, RPM ou formats personnalisés

Firmware signé

Images signées cryptographiquement pour le canal de mise à jour exigé par le CRA

Mettre le chemin de reconstruction dans le CI

Commencez avec un produit, ou réservez une revue si vous voulez le même Blueprint dans votre pipeline.