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
0
360
Releasing Go Apps with GoReleaser
Jakub Jarosz
July 15, 2021
Tweet
Share
More Decks by Jakub Jarosz
See All by Jakub Jarosz
Benchmarking - First Steps
jakubjarosz
0
33
Communicating with Tests
jakubjarosz
0
130
Testing Go CLI Apps with TestScript
jakubjarosz
0
230
Testing Go Code
jakubjarosz
0
230
Building Environments with Ansible
jakubjarosz
0
400
a quick look at webtest & pytest
jakubjarosz
1
1.1k
Data Driven Integration Testing
jakubjarosz
2
310
Multi Mechanize
jakubjarosz
0
140
Embracing Python for Software Testing - BDD Style
jakubjarosz
0
370
Other Decks in Programming
See All in Programming
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
100
Six and a half ridiculous things to do with Quarkus
hollycummins
0
220
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
1.7k
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
280
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
850
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.6k
三者三様 宣言的UI
kkagurazaka
0
220
What's new in Spring Modulith?
olivergierke
1
170
ドメイン駆動設計のエッセンス
masuda220
PRO
7
1.3k
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
560
One Enishi After Another
snoozer05
PRO
0
160
Featured
See All Featured
Bash Introduction
62gerente
615
210k
KATA
mclloyd
PRO
32
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Building an army of robots
kneath
305
46k
How to Ace a Technical Interview
jacobian
280
24k
Fireside Chat
paigeccino
41
3.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to train your dragon (web standard)
notwaldorf
97
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Designing for humans not robots
tammielis
254
26k
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