Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Releasing Go Apps with GoReleaser
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jakub Jarosz
July 15, 2021
Programming
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
78
Communicating with Tests
jakubjarosz
0
180
Testing Go CLI Apps with TestScript
jakubjarosz
0
270
Testing Go Code
jakubjarosz
0
250
Building Environments with Ansible
jakubjarosz
0
420
a quick look at webtest & pytest
jakubjarosz
1
1.3k
Data Driven Integration Testing
jakubjarosz
2
320
Multi Mechanize
jakubjarosz
0
150
Embracing Python for Software Testing - BDD Style
jakubjarosz
0
400
Other Decks in Programming
See All in Programming
AHC070解法紹介
eijirou
0
130
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
350
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
Webの地図
yosuke_furukawa
PRO
6
4.7k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
360
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
530
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
470
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
JRuby: Past, Present, and Future
headius
0
190
新卒PdEのリアル
ryu1013
1
510
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
Building an Out-of-Order CPU
latte72
1
800
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
560
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
230
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
30 Presentation Tips
portentint
PRO
1
400
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
Code Reviewing Like a Champion
maltzj
528
40k
Unsuck your backbone
ammeep
672
58k
Practical Orchestrator
shlominoach
192
12k
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