/ .goreleaser.yaml
.goreleaser.yaml
1 version: 2 2 3 builds: 4 - env: 5 - CGO_ENABLED=0 6 goos: 7 - darwin 8 - linux 9 - windows 10 main: ./cmd/server/main.go 11 12 # Docker 构建配置 13 dockers: 14 - image_templates: 15 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:{{.Version}}-amd64" 16 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:latest-amd64" 17 dockerfile: Dockerfile 18 use: buildx 19 build_flag_templates: 20 - "--platform=linux/amd64" 21 - "--label=org.opencontainers.image.created={{.Date}}" 22 - "--label=org.opencontainers.image.title={{.ProjectName}}" 23 - "--label=org.opencontainers.image.revision={{.FullCommit}}" 24 - "--label=org.opencontainers.image.version={{.Version}}" 25 - "--label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_REPOSITORY_OWNER }}/{{.ProjectName}}" 26 - image_templates: 27 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:{{.Version}}-arm64" 28 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:latest-arm64" 29 dockerfile: Dockerfile 30 use: buildx 31 build_flag_templates: 32 - "--platform=linux/arm64" 33 - "--label=org.opencontainers.image.created={{.Date}}" 34 - "--label=org.opencontainers.image.title={{.ProjectName}}" 35 - "--label=org.opencontainers.image.revision={{.FullCommit}}" 36 - "--label=org.opencontainers.image.version={{.Version}}" 37 - "--label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_REPOSITORY_OWNER }}/{{.ProjectName}}" 38 39 docker_manifests: 40 - name_template: "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:{{.Version}}" 41 image_templates: 42 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:{{.Version}}-amd64" 43 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:{{.Version}}-arm64" 44 - name_template: "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:latest" 45 image_templates: 46 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:latest-amd64" 47 - "{{ tolower .Env.DOCKER_USERNAME }}/{{ tolower .ProjectName }}:latest-arm64" 48 49 archives: 50 - formats: ["binary"] 51 name_template: >- 52 {{ .ProjectName }}_ 53 {{- .Version }}_ 54 {{- if eq .Os "darwin" }}macOS_{{ .Arch }} 55 {{- else if and (eq .Os "windows") (eq .Arch "amd64") }}{{ title .Os }} 56 {{- else }}{{ title .Os }}_ 57 {{- if eq .Arch "amd64" }}x86_64 58 {{- else if eq .Arch "386" }}i386 59 {{- else }}{{ .Arch }}{{ end }} 60 {{- if .Arm }}v{{ .Arm }}{{ end }} 61 {{- end }} 62 63 release: 64 extra_files: 65 - glob: "build/*" 66 67 changelog: 68 sort: asc 69 filters: 70 exclude: 71 - "^docs:" 72 - "^test:" 73 - "^chore:" 74 - "^ci:"