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
Wercker on CoreOS
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Matthew Hooker
March 16, 2015
Technology
460
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wercker on CoreOS
Matthew Hooker
March 16, 2015
More Decks by Matthew Hooker
See All by Matthew Hooker
Cloud-native DevOps†µ
mwhooker
0
140
Use ZooKeeper for discovery at converge time
mwhooker
3
320
Jones
mwhooker
1
770
Other Decks in Technology
See All in Technology
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
160
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
190
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
160
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
170
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
130
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
AI AgentによるEmbedded SREの取り組み
tgidgd
1
320
WireGuard for Apache NuttX - Bringing Secure Remote Access to embedded Devices -
aki310ooooo
0
120
Don't write the architecture only in the prompt.
neohsu
0
290
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
810
Lint の層を組み直した話
bengo4com
2
290
[General] 개발자로 해외 기업에서 일하기
skydoves
1
250
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
990
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
350
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
480
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
410
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Marketing to machines
jonoalderson
1
6k
Transcript
wercker
wercker on CoreOS http://wercker.com @wercker
Wercker: automation driven development • Wercker is an automation platform
• ci/cd not ambitious enough • continuous is assumed
Interface • wercker.yml • Describe job environment • Describe a
work pipeline • Describe required services
Interface • wercker.yml • Describe job environment • Describe a
work pipeline • Describe required services box: tcnksm/
[email protected]
Interface • wercker.yml • Describe job environment • Describe a
work pipeline • Describe required services steps: -‐ script: name: install code: go get -‐v -‐d ./... -‐ golint
Interface • wercker.yml • Describe job environment • Describe a
work pipeline • Describe required services services: -‐ mongodb
Output • Pipeline outputs container image • Hugely beneficial •
Immutable, tested object linked to commit • Repeatability
Under the hood • Standalone process dispatches work to fleet
• Called “kiddie-pool”
mhook • Needed simple package manager • downloads packages from
S3 • indexed by project, branch, and commit • similar to Kelsey Hightower’s `pm` https://github.com/wercker/mhook
kiddie-pool uses mhook [Unit] Description=Wercker Kiddie-‐Pool %i After=install-‐mhook.service
[Service] ExecStartPre=/tmp/mhook -‐-‐bucket <bucket> \\ —project kiddie-‐pool \\ —branch master \\ —commit latest \\ /opt/bin/kiddie-‐pool-‐%i ExecStartPre=/usr/bin/chmod +x /tmp/kiddie-‐pool-‐%i ... [Install] WantedBy=multi-‐user.target [X-‐Fleet] Global=true
kiddie-pool • Sits between work queue and fleet • Constructs
Unit from job metadata • Unit invokes `wercker` cli tool • Sends to fleet over http API
wercker cli • Understands how to actually run the job
• You can download and run wercker locally • rapid iteration • don’t even need us • wow http://wercker.com/downloads/
What’s next • Smart job assignment • Fleet naively allocates
work • Need a job scheduler that’s smarter • Colocate jobs, data, and services • Help us build this
What’s next • mhook • Push behavior • Signing packages
• Wercker step
Logging • Logging • Use Graylog because they have a
working docker image • `journalhook` sends application data to journal • `journal2gelf` container streams journal to graylog • persists journal cursor https://github.com/wercker/journalhook
Provisioning • Vagrant for development • AWS/Cloud Formation for user-facing
• Single script to send application units to fleet • Separation of concerns, no duplication
etcd • Used to publish service information • In the
application to signal job aborts • Best way to run is as cluster of its own • should get easier with 2.0 with proxies • need to configure many things to have correct etcd url
References 1. http://wercker.com/downloads/ 2. https://github.com/wercker/mhook 3. https://github.com/wercker/journalhook 4. https://github.com/systemd/journal2gelf 5.
https://registry.hub.docker.com/u/mwhooker/ journal2gelf/ 6. https://speakerdeck.com/mwhooker/wercker-on- coreos
Thank you Matt Hooker wercker Software Engineer
[email protected]
@mwhooker http://wercker.com
http://twitter.com/wercker Grab a shirt and/or sticker! wercker