46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Push docker image
 | |
| description: Build the local docker file & push to the registry
 | |
| 
 | |
| inputs:
 | |
|   registry:
 | |
|     required: false
 | |
|     type: string
 | |
|   image:
 | |
|     required: true
 | |
|     type: string
 | |
|   tag:
 | |
|     required: false
 | |
|     type: string
 | |
| secrets:
 | |
|   registry_user:
 | |
|     required: true
 | |
|     type: string
 | |
|   registry_pass:
 | |
|     required: true
 | |
|     type: string
 | |
| 
 | |
| runs:
 | |
|   using: composite
 | |
|   steps:
 | |
| 
 | |
|     - name: Install docker
 | |
|       run: |
 | |
|         apt update && apt install curl -y
 | |
|         curl -fsSL https://get.docker.com | sh || echo "Success!"
 | |
| 
 | |
|     - name: Login to registry
 | |
|       run: |
 | |
|         REGISTRY=$([ -n "${{inputs.registry}}" ] && echo "${{inputs.registry}}" || echo "$GITHUB_SERVER_URL")
 | |
|         echo "${{secrets.registry_pass}}" | docker login -u "${{secrets.registry_user}}" --password-stdin "$REGISTRY"    
 | |
| 
 | |
|     - uses: actions/checkout@v3
 | |
| 
 | |
|     - name: Create tag
 | |
|       run: TAG=$([ -n "${{inputs.tag}}" ] && echo "${{inputs.tag}}" || [ "$GITHUB_REF" == "refs/heads/develop" ] && echo "latest" || echo "$GITHUB_REF_NAME" | sed -E "s/[_/]/-/g")
 | |
| 
 | |
|     - name: Build image
 | |
|       run: docker build --no-cache -t "${{inputs.image}}:$TAG" .
 | |
| 
 | |
|     - name: Push image
 | |
|       run: docker push "${{inputs.image}}:$TAG"
 |