Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Releasing Go Apps with GoReleaser
Search
Jakub Jarosz
July 15, 2021
Programming
380
0
Share
Releasing Go Apps with GoReleaser
Jakub Jarosz
July 15, 2021
More Decks by Jakub Jarosz
See All by Jakub Jarosz
Benchmarking - First Steps
jakubjarosz
0
68
Communicating with Tests
jakubjarosz
0
160
Testing Go CLI Apps with TestScript
jakubjarosz
0
260
Testing Go Code
jakubjarosz
0
250
Building Environments with Ansible
jakubjarosz
0
410
a quick look at webtest & pytest
jakubjarosz
1
1.2k
Data Driven Integration Testing
jakubjarosz
2
320
Multi Mechanize
jakubjarosz
0
150
Embracing Python for Software Testing - BDD Style
jakubjarosz
0
390
Other Decks in Programming
See All in Programming
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
Oxlintのカスタムルールの現況
syumai
5
920
OSもどきOS
arkw
0
350
Inside Stream API
skrb
1
440
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
180
誰も頼んでない機能を出荷した話
zekutax
0
150
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
680
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
100
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
320
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
0
240
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Being A Developer After 40
akosma
91
590k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
The Limits of Empathy - UXLibs8
cassininazir
1
340
A Modern Web Designer's Workflow
chriscoyier
698
190k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Transcript
Releasing Go Applications with GoReleaser Jakub Jarosz https://jarosz.dev Golang Live
Webinar - July 2021
agenda 1. Introduction 2. Business cases 3. Release patterns 4.
Examples
functionality Cross compile Go apps Release to GitHub, GitLab Release
to S3, Artifactory Create Docker images Create OS packages and more...
Business Case “Rusted Pipe”
“Rusted Pipe” • Utilities management • GIS • Digital Maps
• Data collection
“Rusted Pipe” • GIS Officer • GIS Developer • IT
Ops
company structure IT Department Business Units
software delivery - external consulting deploy directly to company servers
company structure - in-house development IT Department Development BU
new projects - data collection Data Processing Department Data Collection
Department GIS Department
new projects - data collection Data Processing Department Data Collection
Department GIS Department Automation
goreleaser - pattern: local build build locally, copy to a
shared folder Automation
goreleaser - pattern: git + tags commit to a git
repository, create release, users clone the released version and run locally Release v0.1.0 Automation
demo • build locally
goreleaser - pattern: git + tags commit to a git
repository, create release, users clone the released version and run locally Release v0.1.0 Automation
goreleaser - CI pipelines commit to a git repository, CI
runs automatically, users install released version and run locally Release v0.2.0
goreleaser - build OS packages create packages for multiple OS,
users install and and run locally Release v0.1.0
demo • Release to GitHub • GitHub Actions • build
OS packages • Linux • Darwin • Windows
resources Demo examples: https://github.com/RustedPipe Official website: goreleaser.com Conference talks (YT):
https://tinyurl.com/nbsa4x83
gopherize.me Artwork by Ashley McNamara inspired by Renee French Web
app by Mat Ryer
Thank You! Jakub Jarosz https://jarosz.dev twitter.com/qba73