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
340
Releasing Go Apps with GoReleaser
Jakub Jarosz
July 15, 2021
Tweet
Share
More Decks by Jakub Jarosz
See All by Jakub Jarosz
Communicating with Tests
jakubjarosz
0
82
Testing Go CLI Apps with TestScript
jakubjarosz
0
200
Testing Go Code
jakubjarosz
0
210
Building Environments with Ansible
jakubjarosz
0
380
a quick look at webtest & pytest
jakubjarosz
1
1k
Data Driven Integration Testing
jakubjarosz
2
300
Multi Mechanize
jakubjarosz
0
140
Embracing Python for Software Testing - BDD Style
jakubjarosz
0
350
Testing Erlang Cluster with Python
jakubjarosz
1
120
Other Decks in Programming
See All in Programming
Scaling your build logic
antalmonori
1
150
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
120
ファインディの テックブログ爆誕までの軌跡
starfish719
1
770
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
360
定理証明プラットフォーム lapisla.net
abap34
1
670
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
260
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
150
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
HTML/CSS超絶浅い説明
yuki0329
0
210
AHC041解説
terryu16
0
540
Immutable ActiveRecord
megane42
0
120
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
4.2k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Unsuck your backbone
ammeep
669
57k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
A Philosophy of Restraint
colly
203
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Bash Introduction
62gerente
610
210k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
380
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
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