Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class EcrLoginTask extends DefaultTask {
- String accessKey
- String secretCode
- String region
- String registryId
- @TaskAction
- String getPassword() {
- AmazonECR ecrClient = AmazonECRClient.builder()
- .withRegion(Regions.fromName(region))
- .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretCode))).build()
- GetAuthorizationTokenResult authorizationToken = ecrClient.getAuthorizationToken(
- new GetAuthorizationTokenRequest().withRegistryIds(registryId))
- String token = authorizationToken.getAuthorizationData().get(0).getAuthorizationToken()
- System.setProperty("DOCKER_PASS", token) // Will this work ?
- return token
- }
- }
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.amazonaws:aws-java-sdk-ecr:1.11.244'
- classpath 'com.bmuschko:gradle-docker-plugin:3.2.1'
- }
- }
- docker {
- url = "tcp://remote-docker-host:2375"
- registryCredentials {
- username = 'AWS'
- password = System.getProperty("DOCKER_PASS") // Need to provide at runtime !!!
- url = 'https://123456789123.dkr.ecr.eu-west-1.amazonaws.com'
- }
- }
- task getECRPassword(type: EcrLoginTask) {
- accessKey AWS_KEY
- secretCode AWS_SECRET
- region AWS_REGION
- registryId '139539380579'
- }
- task dbuild(type: DockerBuildImage) {
- dependsOn build
- inputDir = file(".")
- tag "139539380579.dkr.ecr.eu-west-1.amazonaws.com/n6duplicator"
- }
- task dpush(type: DockerPushImage) {
- dependsOn dbuild, getECRPassword
- imageName "123456789123.dkr.ecr.eu-west-1.amazonaws.com/n6duplicator"
- }
Add Comment
Please, Sign In to add comment