github.com/goreleaser/goreleaser@v1.25.1/www/docs/ci/drone.md (about) 1 # Drone 2 3 By default, drone does not fetch tags. `plugins/git` is used with default 4 values, in most cases we'll need overwrite the `clone` step enabling tags, so 5 `goreleaser` work correctly. 6 7 In this example we're creating a new release every time a new tag is pushed. 8 Note that you'll need to enable `tags` in repo settings and add `github_token` 9 secret. 10 11 #### 1.x 12 ```yaml 13 # .drone.yml 14 15 kind: pipeline 16 name: default 17 18 steps: 19 - name: fetch 20 image: docker:git 21 commands: 22 - git fetch --tags 23 24 - name: test 25 image: golang 26 commands: 27 - go test -race -v ./... -cover 28 29 - name: release 30 image: goreleaser/goreleaser 31 environment: 32 GITHUB_TOKEN: 33 from_secret: github_token 34 commands: 35 - goreleaser release 36 when: 37 event: tag 38 ``` 39 40 In case you need to build docker image, use [Docker-In-Docker](https://docs.drone.io/pipeline/docker/examples/services/docker_dind/) (DIND) 41 42 ```yaml 43 --- 44 kind: pipeline 45 name: default 46 trigger: 47 ref: 48 - refs/tags/* 49 50 services: 51 - name: docker 52 image: docker:dind 53 privileged: true 54 volumes: 55 - name: dockersock 56 path: /var/run 57 58 steps: 59 - name: fetch 60 image: docker:git 61 commands: 62 - git fetch --tags 63 64 - name: test 65 image: golang 66 commands: 67 - go test -race -v ./... -cover 68 69 - name: release 70 image: goreleaser/goreleaser 71 environment: 72 GITHUB_TOKEN: 73 from_secret: github_token 74 volumes: 75 - name: dockersock 76 path: /var/run 77 commands: 78 - goreleaser release 79 when: 80 event: tag 81 82 volumes: 83 - name: dockersock 84 temp: {} 85 ``` 86 87 Note: to use DIND you have to set repo as 'trusted'. To mark repository as trusted: 88 89 1. contact your Drone's admin 90 2. or set your [user as administrator](https://docs.drone.io/server/user/admin/) and then enable 'trusted' switch in repository settings UI 91 92 #### 0.8 93 ```yaml 94 pipeline: 95 clone: 96 image: plugins/git 97 tags: true 98 99 test: 100 image: golang:1.10 101 commands: 102 - go test ./... -race 103 104 release: 105 image: golang:1.10 106 secrets: [github_token] 107 commands: 108 curl -sfL https://goreleaser.com/static/run | bash 109 when: 110 event: tag 111 ``` 112