fix: Switch CI to DAG
This commit is contained in:
		
							parent
							
								
									39ebe75e18
								
							
						
					
					
						commit
						bb7ebc3a42
					
				
					 1 changed files with 6 additions and 20 deletions
				
			
		| 
						 | 
					@ -1,8 +1,3 @@
 | 
				
			||||||
stages:
 | 
					 | 
				
			||||||
  - prebuild_and_test
 | 
					 | 
				
			||||||
  - tag
 | 
					 | 
				
			||||||
  - push_image
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
cache:
 | 
					cache:
 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    - _build
 | 
					    - _build
 | 
				
			||||||
| 
						 | 
					@ -16,40 +11,31 @@ variables:
 | 
				
			||||||
  DOCKER_TLS_CERTDIR: "/certs"
 | 
					  DOCKER_TLS_CERTDIR: "/certs"
 | 
				
			||||||
  DOCKER_HOST: tcp://docker:2376
 | 
					  DOCKER_HOST: tcp://docker:2376
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prebuild:
 | 
					 | 
				
			||||||
  stage: prebuild_and_test
 | 
					 | 
				
			||||||
  image: docker:19.03.12
 | 
					 | 
				
			||||||
  services:
 | 
					 | 
				
			||||||
  - name: docker:19.03.12-dind
 | 
					 | 
				
			||||||
  script:
 | 
					 | 
				
			||||||
    - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 | 
					 | 
				
			||||||
    - docker pull $CI_REGISTRY_IMAGE:latest || true
 | 
					 | 
				
			||||||
    - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
 | 
					 | 
				
			||||||
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
test:
 | 
					test:
 | 
				
			||||||
  stage: prebuild_and_test
 | 
					  needs: []
 | 
				
			||||||
  image: "elixir:1.10"
 | 
					  image: "elixir:1.10"
 | 
				
			||||||
  services:
 | 
					  services:
 | 
				
			||||||
  - name: postgres:12
 | 
					  - name: postgres:12
 | 
				
			||||||
  script: script/cibuild
 | 
					  script: script/cibuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
deploy_to_tags:
 | 
					deploy_to_tags:
 | 
				
			||||||
  stage: tag
 | 
					  needs: ['test']
 | 
				
			||||||
  image: "node:15.0"
 | 
					  image: "node:15.0"
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npm install
 | 
					    - npm install
 | 
				
			||||||
    - npx semantic-release
 | 
					    - npx semantic-release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
deploy_to_registry:
 | 
					deploy_to_registry:
 | 
				
			||||||
  stage: push_image
 | 
					  needs: ['test']
 | 
				
			||||||
  image: "docker:19.03.12"
 | 
					  image: "docker:19.03.12"
 | 
				
			||||||
  services:
 | 
					  services:
 | 
				
			||||||
    - name: docker:19.03.12-dind
 | 
					    - name: docker:19.03.12-dind
 | 
				
			||||||
  only:
 | 
					  only:
 | 
				
			||||||
    - tags
 | 
					    - tags
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
 | 
					    - docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 | 
				
			||||||
 | 
					    - docker pull $CI_REGISTRY_IMAGE:latest || true
 | 
				
			||||||
 | 
					    - docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
 | 
				
			||||||
    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
 | 
					    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
 | 
				
			||||||
    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
 | 
					    - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
 | 
				
			||||||
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
 | 
					    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue