Créer une PipelineRun manuelle pour tester les modifications du pipeline de tag avant la fusion.
Utilisation : /test-tag-pipeline <tag-name> [branch-spec]
Arguments :
tag-name(obligatoire) : Le tag existant à reconstruire (par exemple,v0.1.69)branch-spec(optionnel) : La branche contenant le pipeline mis à jour (par défautmain)- Format :
[fork:]branch-name - Si aucun fork n'est spécifié, par défaut
openshift
- Format :
Ce que cela fait :
- Vérifie que vous êtes connecté à l'instance Konflux
- Récupère le SHA du commit vers lequel le tag pointe
- Récupère la définition du pipeline de tag à partir de la branche/fork spécifiée
- Remplace les variables de template par les valeurs réelles pour le tag
- Crée une PipelineRun manuelle qui utilise le pipeline mis à jour pour construire le commit du tag
- Affiche le nom de la PipelineRun pour la surveillance
Exemples :
# Tester le pipeline de la branche main avec le tag v0.1.69
/test-tag-pipeline v0.1.69
# Tester le pipeline de la branche PR avec le tag v0.1.69
/test-tag-pipeline v0.1.69 build-gomaxprocs-image
# Tester le pipeline de la branche fork avec le tag v0.1.69
/test-tag-pipeline v0.1.69 celebdor:OCPBUGS-63194-part2
Implémentation :
IMPORTANT : Exécutez les commandes exactement comme indiqué avec uniquement les arguments fournis par l'utilisateur. Si aucun argument de branche n'est spécifié, le template {{args.1:-main}} utilisera correctement la valeur par défaut main. Ne remplacez PAS la branche git actuelle ou toute autre valeur déduite.
Étape 1 : Vérifier l'authentification auprès de Konflux
oc whoami
Si la vérification d'authentification échoue, informez l'utilisateur qu'il doit d'abord se connecter :
oc login --web https://api.stone-prd-rh01.pg1f.p1.openshiftapps.com:6443
Étape 2 : Créer la PipelineRun
bash hack/tools/scripts/create-manual-tag-pipelinerun.sh {{args.0}} {{args.1:-main}}
Une fois la PipelineRun créée, extrayez le nom de la sortie et construisez l'URL de l'interface web :
- URL de base : https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com
- Motif : /ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/{pipelinerun-name}
Affichez l'URL complète à l'utilisateur pour qu'il puisse surveiller la progression dans l'interface web.
Vous pouvez aussi la surveiller depuis la CLI avec :
# Surveiller l'état de la PipelineRun
oc get pipelinerun <name> -w
Étape 3 : Une fois la PipelineRun exécutée avec succès, créez un Snapshot pour déclencher la validation du Contrat Entreprise :
bash hack/tools/scripts/create-snapshot-from-pipelinerun.sh <pipelinerun-name>
Une fois le Snapshot créé, extrayez le nom du snapshot de la sortie et récupérez les PipelineRuns EC :
oc get pipelinerun -l appstudio.openshift.io/snapshot=<snapshot-name> -o name
Pour chaque PipelineRun EC, construisez et affichez l'URL de l'interface web :
- URL de base : https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com
- Motif : /ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/{ec-pipelinerun-name}
Affichez les URL complètes à l'utilisateur pour qu'il puisse surveiller la validation EC dans l'interface web.
Vous pouvez aussi surveiller depuis la CLI avec :
# Surveiller l'état du snapshot
oc get snapshot <snapshot-name> -w
# Vérifier les résultats du test EC
oc get pipelinerun -l appstudio.openshift.io/snapshot=<snapshot-name>
Notes :
- Cela est utile pour tester les correctifs de pipeline avant la fusion des PR
- La PipelineRun utilise la définition du pipeline mise à jour mais construit le commit du tag original
- Le processus en deux étapes permet à la PipelineRun de se terminer (20+ minutes) avant de créer le Snapshot
- Nécessite que les outils CLI
yqetocsoient installés - Consultez
hack/tools/scripts/create-manual-tag-pipelinerun.shethack/tools/scripts/create-snapshot-from-pipelinerun.shpour les détails d'implémentation