👷 building docker iamges with new methods
This commit is contained in:
		
							parent
							
								
									563875bfdf
								
							
						
					
					
						commit
						deb5b95d8f
					
				
							
								
								
									
										32
									
								
								.github/workflows/dashboard.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								.github/workflows/dashboard.yml
									
									
									
									
										vendored
									
									
								
							@ -15,6 +15,34 @@ jobs:
 | 
				
			|||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@master
 | 
					      - uses: actions/checkout@master
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Extract branch name
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          export BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})
 | 
				
			||||||
 | 
					          echo "##[set-output name=branch;]$BRANCH_NAME"
 | 
				
			||||||
 | 
					          if [ $BRANCH_NAME = "main" ] || [ $BRANCH_NAME = "master" ]
 | 
				
			||||||
 | 
					            then echo "##[set-output name=tag;]latest"
 | 
				
			||||||
 | 
					            else echo "##[set-output name=tag;]$BRANCH_NAME"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					        id: extract_branch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: xgoreleaser build
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          docker pull --platform linux/amd64 oryd/xgoreleaser:latest
 | 
				
			||||||
 | 
					          docker run --mount type=bind,source="$(pwd)",target=/project \
 | 
				
			||||||
 | 
					              --platform linux/amd64 \
 | 
				
			||||||
 | 
					              -e GORELEASER_KEY=$GORELEASER_KEY \
 | 
				
			||||||
 | 
					              -v /var/run/docker.sock:/var/run/docker.sock \
 | 
				
			||||||
 | 
					              oryd/xgoreleaser:latest --skip-publish --snapshot --rm-dist -f .goreleaser.dashboard.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: move dist
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          mkdir -p target/linux/{arm,arm64,386,amd64,s390x}
 | 
				
			||||||
 | 
					          mkdir target/linux/arm/v7/
 | 
				
			||||||
 | 
					          mv dist/universal_linux_arm_7/dashboard target/linux/arm/v7/dashboard
 | 
				
			||||||
 | 
					          mv dist/universal_linux_arm64/dashboard target/linux/arm64/dashboard
 | 
				
			||||||
 | 
					          mv dist/universal_linux_amd64_v1/dashboard target/linux/amd64/dashboard
 | 
				
			||||||
 | 
					          mv dist/universal_linux_s390x/dashboard target/linux/s390x/dashboard
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Log in to the GHCR
 | 
					      - name: Log in to the GHCR
 | 
				
			||||||
        uses: docker/login-action@master
 | 
					        uses: docker/login-action@master
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
@ -54,5 +82,5 @@ jobs:
 | 
				
			|||||||
          platforms: linux/amd64,linux/arm64,linux/arm,linux/386,linux/s390x
 | 
					          platforms: linux/amd64,linux/arm64,linux/arm,linux/386,linux/s390x
 | 
				
			||||||
          push: true
 | 
					          push: true
 | 
				
			||||||
          tags: |
 | 
					          tags: |
 | 
				
			||||||
            ${{ steps.image-name.outputs.GHRC_IMAGE_NAME }}
 | 
					            ${{ steps.image-name.outputs.GHRC_IMAGE_NAME }}:${{ steps.extract_branch.outputs.tag }}
 | 
				
			||||||
            ${{ steps.image-name.outputs.ALI_IMAGE_NAME }}
 | 
					            ${{ steps.image-name.outputs.ALI_IMAGE_NAME }}:${{ steps.extract_branch.outputs.tag }}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										25
									
								
								.goreleaser.dashboard.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								.goreleaser.dashboard.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					before:
 | 
				
			||||||
 | 
					  hooks:
 | 
				
			||||||
 | 
					    - go mod tidy -v
 | 
				
			||||||
 | 
					builds:
 | 
				
			||||||
 | 
					  - id: universal
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      - CGO_ENABLED=1
 | 
				
			||||||
 | 
					    flags:
 | 
				
			||||||
 | 
					      - -tags
 | 
				
			||||||
 | 
					      - sqlite
 | 
				
			||||||
 | 
					    ldflags:
 | 
				
			||||||
 | 
					      - -s -w
 | 
				
			||||||
 | 
					    goos:
 | 
				
			||||||
 | 
					      - linux
 | 
				
			||||||
 | 
					    goarch:
 | 
				
			||||||
 | 
					      - arm
 | 
				
			||||||
 | 
					      - arm64
 | 
				
			||||||
 | 
					      - amd64
 | 
				
			||||||
 | 
					      - s390x
 | 
				
			||||||
 | 
					    goarm:
 | 
				
			||||||
 | 
					      - 7
 | 
				
			||||||
 | 
					    gomips:
 | 
				
			||||||
 | 
					      - softfloat
 | 
				
			||||||
 | 
					    main: ./cmd/dashboard
 | 
				
			||||||
 | 
					    binary: dashboard
 | 
				
			||||||
							
								
								
									
										24
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Dockerfile
									
									
									
									
									
								
							@ -1,22 +1,20 @@
 | 
				
			|||||||
FROM golang:alpine AS binarybuilder
 | 
					FROM ubuntu:latest
 | 
				
			||||||
RUN apk --no-cache --no-progress add \
 | 
					 | 
				
			||||||
    gcc git musl-dev
 | 
					 | 
				
			||||||
WORKDIR /dashboard
 | 
					 | 
				
			||||||
COPY . .
 | 
					 | 
				
			||||||
RUN cd cmd/dashboard && go build -o app -ldflags="-s -w"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM alpine:latest
 | 
					ARG TARGETPLATFORM
 | 
				
			||||||
ENV TZ="Asia/Shanghai"
 | 
					ENV TZ="Asia/Shanghai"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY ./script/entrypoint.sh /entrypoint.sh
 | 
					COPY ./script/entrypoint.sh /entrypoint.sh
 | 
				
			||||||
RUN apk --no-cache --no-progress add \
 | 
					
 | 
				
			||||||
    ca-certificates \
 | 
					RUN export DEBIAN_FRONTEND="noninteractive" &&
 | 
				
			||||||
    tzdata && \
 | 
					    apt update && apt install -y ca-certificates tzdata &&
 | 
				
			||||||
    cp "/usr/share/zoneinfo/$TZ" /etc/localtime && \
 | 
					    update-ca-certificates &&
 | 
				
			||||||
    echo "$TZ" >  /etc/timezone && \
 | 
					    ln -fs /usr/share/zoneinfo/$TZ /etc/localtime &&
 | 
				
			||||||
 | 
					    dpkg-reconfigure tzdata &&
 | 
				
			||||||
    chmod +x /entrypoint.sh
 | 
					    chmod +x /entrypoint.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /dashboard
 | 
					WORKDIR /dashboard
 | 
				
			||||||
COPY ./resource ./resource
 | 
					COPY ./resource ./resource
 | 
				
			||||||
COPY --from=binarybuilder /dashboard/cmd/dashboard/app ./app
 | 
					COPY target/$TARGETPLATFORM/dashboard ./app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VOLUME ["/dashboard/data"]
 | 
					VOLUME ["/dashboard/data"]
 | 
				
			||||||
EXPOSE 80 5555
 | 
					EXPOSE 80 5555
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user