Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gérer AWS CodeBuild construit avec Step Functions
Vous pouvez intégrer Step Functions à AWS CodeBuild pour démarrer, arrêter et gérer les builds. Cette page répertorie les fonctionnalités compatibles CodeBuild APIs que vous pouvez utiliser avec Step Functions.
Pour en savoir plus sur l'intégration avec AWS services dans Step Functions, voir Intégration des services et. Transmission de paramètres à un service API dans Step Functions
Grâce à l'intégration de Step Functions avec AWS CodeBuild vous pouvez utiliser Step Functions pour déclencher, arrêter et gérer des builds, ainsi que pour partager des rapports de build. À l'aide de Step Functions, vous pouvez concevoir et exécuter des pipelines d'intégration continue pour valider les modifications apportées aux logiciels pour les applications.
Principales fonctionnalités de l' CodeBuild intégration optimisée
-
Le modèle Exécuter une tâche (.sync) d'intégration est pris en charge.
-
Une fois que vous avez appelé
StopBuild
ouStopBuildBatch
, le build ou le batch de build n'est pas immédiatement supprimé tant que certains travaux internes ne sont pas terminés CodeBuild pour finaliser l'état de la ou des versions.Si vous essayez d'utiliser
BatchDeleteBuilds
ouDeleteBuildBatch
pendant cette période, il est possible que le build ou le batch de build ne soit pas supprimé.Les intégrations de services optimisées pour
BatchDeleteBuilds
etDeleteBuildBatch
incluent une nouvelle tentative interne afin de simplifier le cas d'utilisation de la suppression immédiatement après l'arrêt.
Tous ne sont pas APIs compatibles avec tous les modèles d'intégration, comme le montre le tableau suivant.
API | Réponse à la requête | Exécuter une tâche (.sync) |
---|---|---|
StartBuild | Pris en charge | Pris en charge |
StopBuild | Pris en charge | Non pris en charge |
BatchDeleteBuilds | Pris en charge | Non pris en charge |
BatchGetReports | Pris en charge | Non pris en charge |
StartBuildBatch | Pris en charge | Pris en charge |
StopBuildBatch | Pris en charge | Non pris en charge |
RetryBuildBatch | Pris en charge | Pris en charge |
DeleteBuildBatch | Pris en charge | Non pris en charge |
Paramètres dans Step Functions sont exprimés en PascalCase
Même si le service natif API est activécamelCase, par exemple l'APIactionstartSyncExecution
, vous spécifiez des paramètres dans PascalCase, tels que :StateMachineArn
.
Soutenu CodeBuild APIs
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
-
-
Paramètres pris en charge :
Note
Vous pouvez utiliser l'opérateur de descente récursive JSONPath
(..
) pour BatchDeleteBuilds
Avec le tableau renvoyé, vous pouvez transformer le Arn
champ StartBuild
en un Ids
paramètre pluriel, comme indiqué dans l'exemple suivant.
"BatchDeleteBuilds": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:batchDeleteBuilds",
"Parameters": {
"Ids.$": "$.Build..
Arn"
},
"Next": "MyNextState"
},
IAMpolitiques relatives aux appels AWS CodeBuild
Les exemples de modèles suivants montrent comment AWS Step Functions génère IAM des politiques basées sur les ressources contenues dans la définition de votre machine à états. Pour plus d’informations, consultez Comment Step Functions génère IAM des politiques pour les services intégrés et Découvrez les modèles d'intégration des services dans Step Functions.
Ressources:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:sa-east-1:123456789012:StepFunctionsSample-CodeBuildExecution1111-2222-3333-wJalrXUtnFEMI-SNSTopic-bPxRfiCYEXAMPLEKEY"
],
"Effect": "Allow"
},
{
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:BatchGetBuilds",
"codebuild:BatchGetReports"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:sa-east-1:123456789012:rule/StepFunctionsGetEventForCodeBuildStartBuildRule"
],
"Effect": "Allow"
}
]
}
StartBuild
Ressources statiques
Ressources dynamiques
StopBuild
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchDeleteBuilds
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchGetReports
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:report-group/[[reportName]]
"
]
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:report-group/*"
]
}
]
}
StartBuildBatch
Ressources statiques
Ressources dynamiques
StopBuildBatch
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}
RetryBuildBatch
Ressources statiques
Ressources dynamiques
DeleteBuildBatch
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}