輕鬆打造持續
整合開發環境
台灣攻城獅 Doro Wu | QNAP
使用 QNAP Docker
Doro Wu
https://github.com/fcwu
QNAP – Container Station
https://goo.gl/ryOqYW
NAS
正常觀點
• Download BT
• Kodi/DLNA
• 1080p, 5.1 channel audio, DTS
• Backup Data
• samba, NFS, btsync
攻城獅觀點
• Busybox!!
• apt/yum !!
• HDD layout!!
攻城獅觀點
這什麼怪系統
(亂入)
你可以抓他們的 toolchain
自己 build 你要的東西
不如
我買台機器自己灌個
Ubuntu 好了
AWS, linode, Azure…
Virtualization
• KVM
• VNC/Spice
• QvPC
• Virtual Switch
2014
2015
Virtualization
QvPC
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
Web UI
LXC & Docker
輕鬆跑 Linux App真 OS
QvPC?
用 LXC 可以很容易跑出個 Ubuntu 桌面
玩 Game 嗎?裝 Steam 吧!外面有 demo
給它所有的裝置權限
Private Registry
一鍵架設 Docker Private Registry
Access PR
存取現成私有 Docker Registry
Containers in PR
這個功能是玩真的
App Repo
當一個 App 有多個 Containers 時,Private Registry
的功能不大夠,像 GitLab
Docker compose
搭建自己的 Docker App,照標準作業程序
Custom Repo
送 PR 前,想先測試
Container API
Container API
Docker Cert
持續整合環境
Jenkins
CI Server
Gitlab
VCS
Testbed
Image Hub
Archive
polling
KVM
Install Infra.
Install Infra.
Install Infra.
Build Executor
• Another PC/NAS
• Setup ssh key
• Setup gitlab key
• Install Docker
• Install Docker cert. for accessing private registry
• Mount archive
Cluster - swarm
Jenkins
CI Server
Gitlab
VCS
Testbed
Image Hub
Archive
polling
KVM
Automate
Build, deploy, test
• Dockerfile
• Jenkins
Dockerfile
• Image
• build
• deploy
• test
• Deploy tool
• pysftp
• ansible
• fabric
app.sh
Testing
Deploy and test on real machine everyday
Development
Vagrant
Ansible
Packer
Builder Provision
Post-
processing
KVM in Docker
Running KVM in docker container with QNAP Container Station
https://youtu.be/gxhBcuIFAfU
Slack
Backup
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
Hiring
• Python
• Go
• AngularJS/React…
dorowu@qnap.com or 104

QNAP COSCUP Container Station