SlideShare a Scribd company logo
Where did my module go?
Codefresh & JFrog
‱ Who’s a Go dev?
‱ Who’s using Go modules?
‱ Who’s here just for the food?
Before we get started
#Worldpoetryday
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
There once was a programmer sage,
Who proclaimed Golang is all the rage,
Use a module or three
And admire the beauty
Of Go in this cloud-native age
‱ Developer Advocate
‱ Passionate about Serverless,
Containers, and all things
Cloud
‱ I love dadjokes, cheesecake
and APIs
Who ARE we?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
@LeonStigter
Leon Stigter, Developer Advocate
Dadjokes?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Why couldn’t the Go programmer pay his taxes?
He only had con-currency

#Worldpoetryday
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
There once was a DevOps maintainer
Who used to be quite the complainer
But now there’s nothing to fear
Thanks to the Codefresh team here
Everything’s deployed in a container
‱ Chief Technology Evangelist
‱ Google Developer Expert,
Forbes Technology Council
‱ Kubernaut and CI/CD expert
Who ARE we?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
@TodayWasAwesome
Dan Garfield, Chief Technology Evangelist
Slides Videos Links
Comments Ratings Raffle!
shownotes
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
https://jfrog.com/shownotes
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
A brief history of GO
Let’s go on a trip through
history
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
A quick history of go
Go 1.0
First major milestone as a
long term stable release
2012 2015
Go 1.5
First release to no longer
use C (except for cgo)
Support for Vendoring
2017
Go 1.8
Introduction of Go plugins
2018
Go 1.10
Changes to the toolchain,
runtime, and libs
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Dependency Management

One thing missing
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
!
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
“Tis impossible to be sure of anything
but Death and Taxes”
- Christopher Bullock
A quick history of go
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Go 1.0
First major milestone as a
long term stable release
2012 2015 2017 2018
Go 1.5
First release to no longer
use C (except for cgo)
Support for Vendoring
Go 1.8
Introduction of Go plugins
Go 1.10
Changes to the toolchain,
runtime, and libs
Go 1.11
Go Modules!
2018
Official Dependency
Management
No more GOPATH In one single tool
So, what are modules?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Vendoring is a really, really bad idea
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
But why not use vendoring?
Forking is not always good, bad forking is always bad
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
And that’s what vendoring is
In software Immutable and repeatable are really important
The best way to guarantee issues is force push
Immutable dependencies
Who doesn’t remember left-pad with Node.js?
Lost Dependencies
Do you trust your colleagues? What about the rest of the Internet?
Trust
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Summarizing the last slide
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Friends don’t let friends do
git push -f
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
What is gocenter actually?#1
Go modules are awesome, because

@LeonStigter | Copyright © 2019 JFrog. All Rights Reserved
Repository Size
Source Control Versioning
Local Dependencies
Go modules are awesome, because

@LeonStigter | Copyright © 2019 JFrog. All Rights Reserved
Build Time
Project Management
Repeatable Builds
Immutable Builds
Immutable and repeatable is really important
@LeonStigter | Copyright © 2019 JFrog. All Rights Reserved
The best way to guarantee issues is force push
Immutable dependencies
Who doesn’t remember left-pad with Node.js?
Lost Dependencies
Do you trust your colleagues? What about the rest of the Internet?
Trust
Caching of dependencies
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Public cache
(GoCenter)
Org cache
(Artifactory / Athens)
Local cache
($GOPATH)
What is gocenter actually?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
!
Challenge accepted!
Is it really faster?
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
‱ https://jfrog.com/shownotes
‱ @JFrog / @Codefresh
‱ @TodayWasAwesome
‱ @LeonStigter
Q&A
Some ads and Q&A
@LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
Thank you!
See you next time, at

More Related Content

PDF
Pitfall for WioLTE
PDF
10 Pitfalls to Avoid in Creating RIAs
PPTX
Making The Source for Macmillan Cancer Support: Rob Pearson's talk at Product...
PPTX
Android app development – what you should not
KEY
OpenACT - Meet1 - Intro to APIs
PDF
Atlassian - The Latest & Greatest April 2014
PDF
How To Do Kick-Ass Software Development
PDF
Testing responsive websites @EuroTestConf
Pitfall for WioLTE
10 Pitfalls to Avoid in Creating RIAs
Making The Source for Macmillan Cancer Support: Rob Pearson's talk at Product...
Android app development – what you should not
OpenACT - Meet1 - Intro to APIs
Atlassian - The Latest & Greatest April 2014
How To Do Kick-Ass Software Development
Testing responsive websites @EuroTestConf

What's hot (16)

PDF
Git Branching for Agile Teams
PDF
Five steps towards your testing dream
ODP
Contribute to Eclipse projects
PDF
The 4W's of Angular
PDF
Stayin' Alive! Feature Disco Your Way to PI Planning
PPTX
Making Apps Awesomer
PDF
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
PDF
How to Scale Mobile Testing Across Several Teams
PPTX
Salesforce developer
PDF
How to validate your products swiftly with rapid prototyping slides
PPTX
6th Salesforce Developer Group - Bilbao
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
PDF
Atlassian: The latest and greatest - May/June 2013
PDF
Salesforce developer
PDF
Git with t for teams
PPTX
Bounce it preso #5
Git Branching for Agile Teams
Five steps towards your testing dream
Contribute to Eclipse projects
The 4W's of Angular
Stayin' Alive! Feature Disco Your Way to PI Planning
Making Apps Awesomer
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
How to Scale Mobile Testing Across Several Teams
Salesforce developer
How to validate your products swiftly with rapid prototyping slides
6th Salesforce Developer Group - Bilbao
Use Scrum and Continuous Delivery to innovate like crazy!
Atlassian: The latest and greatest - May/June 2013
Salesforce developer
Git with t for teams
Bounce it preso #5
Ad

Similar to Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh (20)

PDF
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes

PDF
Building a Kubernetes Powered Central Go Modules Repository
PDF
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
PDF
Refactoring to Go modules: why and how
PDF
Refactoring to GO modules
PDF
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes

PDF
Mobile web application
KEY
YOOX Launch & Learn - Javascript as a programming language
KEY
SlickGrid Touch: Making complex JavaScript widgets work on mobile devices
PDF
Full stack-web-design
PDF
Big feature - small sprint
PDF
Drupal and Devops , the Survey Results
PDF
Hinting at a better web
PDF
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
PDF
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
PPTX
Conversionista : Conversion manager course - Stockholm 20 march 2013
PDF
Jobplanet Code Review Strategy
KEY
jsDay - Javascript as a programming language
PPTX
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
PPTX
The State of Frontend
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes

Building a Kubernetes Powered Central Go Modules Repository
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
Refactoring to Go modules: why and how
Refactoring to GO modules
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes

Mobile web application
YOOX Launch & Learn - Javascript as a programming language
SlickGrid Touch: Making complex JavaScript widgets work on mobile devices
Full stack-web-design
Big feature - small sprint
Drupal and Devops , the Survey Results
Hinting at a better web
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Conversionista : Conversion manager course - Stockholm 20 march 2013
Jobplanet Code Review Strategy
jsDay - Javascript as a programming language
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
The State of Frontend
Ad

More from Leon Stigter (16)

PDF
Thinking Stateful Serverless
PDF
Test driving event-driven apps on kubernetes with kind, tekton, and knative
PDF
Building Event-Driven Workflows with Knative and Tekton
PDF
Data Driven Decisions in DevOps
PDF
Every Talk Has To Be Unique @ DevRel Meetup
PPTX
Continuous Verification in a Serverless World
PDF
Continuous Verification in a Serverless World
PDF
Trusting Your Ingredients @DevOpsDays Columbus 2019
PDF
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
PDF
Data Driven DevOps
PDF
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
PDF
The Art of Deploying Artifacts to Production With Confidence
PDF
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
PDF
Project Flogo: An Event-Driven Stack for the Enterprise
PDF
The Road to a Cloud-First Enterprise
PDF
Building serverless apps with Go & SAM
Thinking Stateful Serverless
Test driving event-driven apps on kubernetes with kind, tekton, and knative
Building Event-Driven Workflows with Knative and Tekton
Data Driven Decisions in DevOps
Every Talk Has To Be Unique @ DevRel Meetup
Continuous Verification in a Serverless World
Continuous Verification in a Serverless World
Trusting Your Ingredients @DevOpsDays Columbus 2019
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Data Driven DevOps
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
The Art of Deploying Artifacts to Production With Confidence
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: An Event-Driven Stack for the Enterprise
The Road to a Cloud-First Enterprise
Building serverless apps with Go & SAM

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
L1 - Introduction to python Backend.pptx
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
2025 Textile ERP Trends: SAP, Odoo & Oracle
wealthsignaloriginal-com-DS-text-... (1).pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Softaken Excel to vCard Converter Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Reimagine Home Health with the Power of Agentic AI​
L1 - Introduction to python Backend.pptx
Odoo Companies in India – Driving Business Transformation.pdf
top salesforce developer skills in 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms II-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh

  • 1. Where did my module go? Codefresh & JFrog
  • 2. ‱ Who’s a Go dev? ‱ Who’s using Go modules? ‱ Who’s here just for the food? Before we get started
  • 3. #Worldpoetryday @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes There once was a programmer sage, Who proclaimed Golang is all the rage, Use a module or three And admire the beauty Of Go in this cloud-native age
  • 4. ‱ Developer Advocate ‱ Passionate about Serverless, Containers, and all things Cloud ‱ I love dadjokes, cheesecake and APIs Who ARE we? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes @LeonStigter Leon Stigter, Developer Advocate
  • 5. Dadjokes? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes Why couldn’t the Go programmer pay his taxes? He only had con-currency

  • 6. #Worldpoetryday @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes There once was a DevOps maintainer Who used to be quite the complainer But now there’s nothing to fear Thanks to the Codefresh team here Everything’s deployed in a container
  • 7. ‱ Chief Technology Evangelist ‱ Google Developer Expert, Forbes Technology Council ‱ Kubernaut and CI/CD expert Who ARE we? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes @TodayWasAwesome Dan Garfield, Chief Technology Evangelist
  • 8. Slides Videos Links Comments Ratings Raffle! shownotes @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes https://jfrog.com/shownotes
  • 9. @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes A brief history of GO
  • 10. Let’s go on a trip through history @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 11. A quick history of go Go 1.0 First major milestone as a long term stable release 2012 2015 Go 1.5 First release to no longer use C (except for cgo) Support for Vendoring 2017 Go 1.8 Introduction of Go plugins 2018 Go 1.10 Changes to the toolchain, runtime, and libs @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 12. Dependency Management
 One thing missing @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes !
  • 13. @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes “Tis impossible to be sure of anything but Death and Taxes” - Christopher Bullock
  • 14. A quick history of go @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes Go 1.0 First major milestone as a long term stable release 2012 2015 2017 2018 Go 1.5 First release to no longer use C (except for cgo) Support for Vendoring Go 1.8 Introduction of Go plugins Go 1.10 Changes to the toolchain, runtime, and libs Go 1.11 Go Modules! 2018
  • 15. Official Dependency Management No more GOPATH In one single tool So, what are modules? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 16. Vendoring is a really, really bad idea @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes But why not use vendoring?
  • 17. Forking is not always good, bad forking is always bad @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes And that’s what vendoring is
  • 18. In software Immutable and repeatable are really important The best way to guarantee issues is force push Immutable dependencies Who doesn’t remember left-pad with Node.js? Lost Dependencies Do you trust your colleagues? What about the rest of the Internet? Trust @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 19. Summarizing the last slide @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes Friends don’t let friends do git push -f
  • 20. @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes What is gocenter actually?#1
  • 21. Go modules are awesome, because
 @LeonStigter | Copyright © 2019 JFrog. All Rights Reserved Repository Size Source Control Versioning Local Dependencies
  • 22. Go modules are awesome, because
 @LeonStigter | Copyright © 2019 JFrog. All Rights Reserved Build Time Project Management Repeatable Builds Immutable Builds
  • 23. Immutable and repeatable is really important @LeonStigter | Copyright © 2019 JFrog. All Rights Reserved The best way to guarantee issues is force push Immutable dependencies Who doesn’t remember left-pad with Node.js? Lost Dependencies Do you trust your colleagues? What about the rest of the Internet? Trust
  • 24. Caching of dependencies @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes Public cache (GoCenter) Org cache (Artifactory / Athens) Local cache ($GOPATH)
  • 25. What is gocenter actually? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 26. ! Challenge accepted! Is it really faster? @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 27. ‱ https://jfrog.com/shownotes ‱ @JFrog / @Codefresh ‱ @TodayWasAwesome ‱ @LeonStigter Q&A Some ads and Q&A @LeonStigter | @TodayWasAwesome | jfrog.com/shownotes
  • 28. Thank you! See you next time, at