github.com/szyn/goreleaser@v0.76.1-0.20180517112710-333da09a1297/www/content/s3.md (about)

     1  ---
     2  title: S3
     3  series: customization
     4  hideFromIndex: true
     5  weight: 115
     6  ---
     7  
     8  Since [v0.74.0](https://github.com/goreleaser/goreleaser/releases/tag/v0.74.0),
     9  GoReleaser supports pushing artifacts to Amazon S3 and other API-compatible
    10  block storages ([minio][] for example).
    11  
    12  [minio]: https://www.minio.io
    13  
    14  Right now, the implementation is quite simple and probably won't cover all
    15  use cases. If you need one of such use cases, please open an issue/pull request.
    16  
    17  ## Customization
    18  
    19  ```yaml
    20  # .goreleaser.yml
    21  s3:
    22    # You can have multiple s3 configs
    23    -
    24      # Bucket name (without the s3:// prefix)
    25      # Default is empty.
    26      bucket: my-bucket
    27      # AWS Region to use.
    28      # Defaults is us-east-1
    29      region: us-east-1
    30      # path inside the bucket.
    31      # This is parsed with the Go template engine and the following variables
    32      # are available:
    33      # - ProjectName
    34      # - Tag
    35      # - Version (Git tag without `v` prefix)
    36      # There is also a template function "time" that takes a Go time format
    37      # string to insert a formated timestamp into the release name.
    38      # Default is `{{ .ProjectName }}/{{ .Tag }}`
    39      folder: "foo/bar/{{.Version}}"
    40      # Set a custom profile to use for this s3 config. If you have multiple
    41      # profiles setup in you ~/.aws config, this shall help defining which
    42      # profile to use in which s3 bucket.
    43      # Default is empty.
    44      profile: my-profile
    45      # Endpoint allows you to set a custom endpoint, which is useful if you
    46      # want to push your artifacts to a minio server for example.
    47      # Default is AWS S3 URL.
    48      endpoint: "http://minio.foo.com"
    49  ```
    50  
    51  ## Authentication
    52  
    53  GoReleaser will authenticate using the [same methods defined by aws-cli][auth].
    54  You can read the [docs][auth] to find out more about it.
    55  
    56  You can also set diferent profile names for each S3 config, so you may be able
    57  to push to buckets in different accounts, for example.
    58  
    59  [auth]: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html