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
Wercker on CoreOS
Search
Matthew Hooker
March 16, 2015
Technology
450
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
130
Use ZooKeeper for discovery at converge time
mwhooker
3
310
Jones
mwhooker
1
760
Other Decks in Technology
See All in Technology
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
190
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
310
モバイルアプリ開発概論2026
recruitengineers
PRO
5
510
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
바이브풀 라이프
arawn
0
110
ラジオの科学
frievea
0
280
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.3k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
210
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Darren the Foodie - Storyboard
khoart
PRO
3
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
WCS-LA-2024
lcolladotor
0
790
How GitHub (no longer) Works
holman
316
150k
エンジニアに許された特別な時間の終わり
watany
108
250k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Abbi's Birthday
coloredviolet
3
9.3k
Believing is Seeing
oripsolob
1
180
Deep Space Network (abreviated)
tonyrice
0
250
KATA
mclloyd
PRO
35
15k
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