feat: Push final docker images in parallel
This commit is contained in:
		
							parent
							
								
									191ff10664
								
							
						
					
					
						commit
						6a20860c68
					
				
					 2 changed files with 8 additions and 7 deletions
				
			
		| 
						 | 
					@ -79,13 +79,16 @@ deploy_commit_image_to_tag:
 | 
				
			||||||
    - name: docker:19.03.12-dind
 | 
					    - name: docker:19.03.12-dind
 | 
				
			||||||
  variables:
 | 
					  variables:
 | 
				
			||||||
    GIT_STRATEGY: none # this job does not need the project files, only docker
 | 
					    GIT_STRATEGY: none # this job does not need the project files, only docker
 | 
				
			||||||
 | 
					  parallel:
 | 
				
			||||||
 | 
					    matrix:
 | 
				
			||||||
 | 
					      - IMAGE_TYPE: ["", "-elixir-builder", "-asset-builder"]
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - echo "BUILD_VERSION is ${BUILD_VERSION}"
 | 
					    - echo "BUILD_VERSION is ${BUILD_VERSION}"
 | 
				
			||||||
    - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 | 
					    - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 | 
				
			||||||
    # Run the docker pull, but retry if it doesn't work at first because layers may be
 | 
					    # Run the docker pull, but retry if it doesn't work at first because layers may be
 | 
				
			||||||
    # still be loading to storage
 | 
					    # still be loading to storage
 | 
				
			||||||
    - for i in 1 2 3 4 5; do docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA && break || sleep 15; done
 | 
					    - for i in 1 2 3 4 5; do docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA$IMAGE_TYPE && break || sleep 15; done
 | 
				
			||||||
    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$BUILD_VERSION
 | 
					    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA$IMAGE_TYPE $CI_REGISTRY_IMAGE:$BUILD_VERSION$IMAGE_TYPE
 | 
				
			||||||
    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
 | 
					    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA$IMAGE_TYPE $CI_REGISTRY_IMAGE:latest$IMAGE_TYPE
 | 
				
			||||||
    - docker push $CI_REGISTRY_IMAGE:$BUILD_VERSION
 | 
					    - docker push $CI_REGISTRY_IMAGE:$BUILD_VERSION$IMAGE_TYPE
 | 
				
			||||||
    - docker push $CI_REGISTRY_IMAGE:latest
 | 
					    - docker push $CI_REGISTRY_IMAGE:latest$IMAGE_TYPE
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,8 +2,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PARENT_COMMIT=`git rev-list --parents -n 1 HEAD  | cut -d' ' -f2`
 | 
					PARENT_COMMIT=`git rev-list --parents -n 1 HEAD  | cut -d' ' -f2`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
docker pull $CI_REGISTRY_IMAGE:$PARENT_COMMIT-elixir-builder || \
 | 
					docker pull $CI_REGISTRY_IMAGE:$PARENT_COMMIT-elixir-builder || \
 | 
				
			||||||
  docker pull $CI_REGISTRY_IMAGE:latest-elixir-builder || \
 | 
					  docker pull $CI_REGISTRY_IMAGE:latest-elixir-builder || \
 | 
				
			||||||
  true
 | 
					  true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue