Page 1
輕鬆打造持續整合開發環境
台灣攻城獅 Doro Wu | QNAP
使用 QNAP Docker
Page 2
Doro Wu
https://github.com/fcwu
QNAP – Container Station
https://goo.gl/ryOqYW
Page 4
正常觀點• Download BT• Kodi/DLNA• 1080p, 5.1 channel audio, DTS
• Backup Data• samba, NFS, btsync
Page 5
攻城獅觀點• Busybox!!• apt/yum !!• HDD layout!!
Page 6
攻城獅觀點這什麼怪系統
( 亂入 )你可以抓他們的 toolchain 自己 build 你要的東西不如我買台機器自己灌個 Ubuntu 好了AWS, linode, Azure…
Page 7
Virtualization
• KVM• VNC/Spice• QvPC• Virtual Switch 2014
2015
Page 10
Container Station
• ARM and x86• Docker and LXC• One-click create container/app• Developers• Docker Private Registry• App Repository• Docker Certificate• Container Station API
2015
Page 12
LXC & Docker
輕鬆跑 Linux App真 OS
Page 13
QvPC?
用 LXC 可以很容易跑出個 Ubuntu 桌面
玩 Game 嗎?裝 Steam 吧!外面有 demo
給它所有的裝置權限
Page 15
Private Registry
一鍵架設 Docker Private Registry
Page 16
Access PR
存取現成私有 Docker Registry
Page 17
Containers in PR
這個功能是玩真的
Page 18
App Repo
當一個 App 有多個 Containers 時, Private Registry 的功能不大夠,像 GitLab
Page 19
Docker compose
搭建自己的 Docker App ,照標準作業程序
Page 20
Custom Repo
送 PR 前,想先測試
Page 24
持續整合環境
JenkinsCI Server
GitlabVCS
Testbed
Image Hub
Archive
polling
KVM
Page 28
Build Executor
• Another PC/NAS• Setup ssh key• Setup gitlab key• Install Docker• Install Docker cert. for accessing private
registry• Mount archive
Page 29
Cluster - swarm
JenkinsCI Server
GitlabVCS
Testbed
Image Hub
Archive
polling
KVM
Page 30
Automate
Build, deploy, test
Page 31
• Dockerfile• Jenkins
Page 32
Dockerfile
• Image• build• deploy• test
• Deploy tool• pysftp• ansible• fabric
Page 34
Testing
Deploy and test on real machine everyday
Page 35
Development
VagrantAnsible
Page 36
Packer
Builder Provision Post-processing
Page 37
KVM in Docker
Running KVM in docker container with QNAP Container Stationhttps://youtu.be/gxhBcuIFAfU
Page 40
Wrap Up
• Virtualization Station• Container Station
• ARM and x86• Docker and LXC• One-click create container/app• Docker Private Registry• App Repository• Docker Certificate• Container Station API
• Continuous Integration• Gitlab, Jenkins, Archive
• Testbed: KVM, LXC
Page 41
Hiring
• Python• Go• AngularJS/React…
[email protected] or 104