У меня есть конвейер, который строит образ, pu sh его в AWS ECR, и последний этап моего конвейера - это команда sh, которая создает сервис в AWS ECS. Есть ли способ, чтобы pu sh имя изображения, которое Дженкинс создал для моего стека облачной информации, чтобы выполнить задачу автоматически?
stage('Build image') {
steps {
script {
myapp = docker.build("${LOCATION}/${AWS_REPO_NAME}:${env.BUILD_ID}")
}
}
}
stage('Run image') {
steps {
withAWS(region:'${REGION}',credentials:'demo-ecr-credentials') {
sh "aws ecr get-login-password | docker login --username AWS --password-stdin ${LOCATION}/v2/"
sh "docker push ${LOCATION}/${AWS_REPO_NAME}:${env.BUILD_ID}"
}
}
}
stage('Build ECS') {
steps{
script {
sh 'aws cloudformation deploy --template-file cloudformation.yml
--stack-name jenkinstack '
}
}
}
}
}
Вот часть моего стека облачной информации:
TaskDefinition:
Type: 'AWS::ECS::TaskDefinition'
DependsOn:
- VPC
Properties:
ContainerDefinitions:
- Name: test
Cpu: '100'
Memory: "0.5GB"
Essential: 'true'
Image: !Join
- ''
- - !Ref 'AWS::AccountId'
- .dkr.ecr.us-east-1.amazonaws.com/
- hello-world
- ':'
- **${env.BUILD_ID}**
Memory: '300'
PortMappings:
- HostPort: 80
ContainerPort: 80