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
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
130
Pavlokで始める電撃駆動開発
sgrsn
0
170
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
210
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
400
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
170
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
230
サイバー捜査員研修(前半)
nomizone
1
1.8k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
200
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.1k
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
130
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
390
Balancing Empowerment & Direction
lara
6
1.2k
Facilitating Awesome Meetings
lara
57
7.1k
BBQ
matthewcrist
89
10k
Visualization
eitanlees
152
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Prompt Engineering for Job Search
mfonobong
0
400
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