mirror of
				https://gitea.com/docker/build-push-action.git
				synced 2025-10-31 09:08:18 +07:00 
			
		
		
		
	Merge pull request #455 from crazy-max/doc
Test before pushing your image (docs)
This commit is contained in:
		
						commit
						d0931a71a9
					
				| @ -36,6 +36,7 @@ ___ | ||||
|   * [Local registry](docs/advanced/local-registry.md) | ||||
|   * [Export image to Docker](docs/advanced/export-docker.md) | ||||
|   * [Share built image between jobs](docs/advanced/share-image-jobs.md) | ||||
|   * [Test your image before pushing it](docs/advanced/test-before-push.md) | ||||
|   * [Handle tags and labels](docs/advanced/tags-labels.md) | ||||
|   * [Update DockerHub repo description](docs/advanced/dockerhub-desc.md) | ||||
| * [Customizing](#customizing) | ||||
| @ -165,6 +166,7 @@ jobs: | ||||
| * [Local registry](docs/advanced/local-registry.md) | ||||
| * [Export image to Docker](docs/advanced/export-docker.md) | ||||
| * [Share built image between jobs](docs/advanced/share-image-jobs.md) | ||||
| * [Test your image before pushing it](docs/advanced/test-before-push.md) | ||||
| * [Handle tags and labels](docs/advanced/tags-labels.md) | ||||
| * [Update DockerHub repo description](docs/advanced/dockerhub-desc.md) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										64
									
								
								docs/advanced/test-before-push.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								docs/advanced/test-before-push.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| # Test your image before pushing it | ||||
| 
 | ||||
| In some cases, you might want to validate that the image works as expected | ||||
| before pushing it. | ||||
| 
 | ||||
| The workflow below will be composed of several steps to achieve this: | ||||
| * Build and export the image to Docker | ||||
| * Test your image | ||||
| * Multi-platform build and push the image | ||||
| 
 | ||||
| ```yaml | ||||
| name: ci | ||||
| 
 | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - 'master' | ||||
| 
 | ||||
| env: | ||||
|   TEST_TAG: user/myapp:test | ||||
| 
 | ||||
| jobs: | ||||
|   docker: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v2 | ||||
|       - | ||||
|         name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v1 | ||||
|       - | ||||
|         name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v1 | ||||
|       - | ||||
|         name: Login to DockerHub | ||||
|         uses: docker/login-action@v1 | ||||
|         with: | ||||
|           username: ${{ secrets.DOCKERHUB_USERNAME }} | ||||
|           password: ${{ secrets.DOCKERHUB_TOKEN }} | ||||
|       - | ||||
|         name: Build and export to Docker | ||||
|         uses: docker/build-push-action@v2 | ||||
|         with: | ||||
|           context: . | ||||
|           load: true | ||||
|           tags: ${{ env.TEST_TAG }} | ||||
|       - | ||||
|         name: Test | ||||
|         run: | | ||||
|           docker run --rm ${{ env.TEST_TAG }} | ||||
|       - | ||||
|         name: Build and push | ||||
|         uses: docker/build-push-action@v2 | ||||
|         with: | ||||
|           context: . | ||||
|           platforms: linux/amd64,linux/arm64 | ||||
|           push: true | ||||
|           tags: user/app:latest | ||||
| ``` | ||||
| 
 | ||||
| > :bulb: Build time will not be increased with this workflow because internal | ||||
| > cache for `linux/amd64` will be used from previous step on `Build and push` | ||||
| > step so only `linux/arm64` will be actually built. | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user