[Docker Taipei Meetup#2] 關於Docker & Jenkins 跟 Docker in Golang

其實是很臨時去參加的,所以一發現有空位馬上就參加,對於Docker本身也是一知半解,也希望能透過這些聚會能有更多的了解.
這裡簡單的記錄一下我的心得,後面是我的速記:

心得:

  • Docker & Jenkins by Casear Chu

    • 這一篇演講相當的特別,讓你與一般Docker 與Jenkins 能想到的不一樣.

    • 主要的架構是根據在Docker in Docker (DinD) 想出來的.也就是在Docker裡面自己再去建立並且讀取其他的docker.

    • 這裡的方法主要如下:

      • 先建立一個ubuntu docker 去安裝Jenkins

      • 然後Jenkins 有兩個工作專案:

        • 一個是下載node.js 系統的image build 成另一個docker

        • 一個是去下載修改的node.js 程式碼,並且定期地在第一個docker上跑測試

    • 整個方法相當特別,測試完之後.可能需要完全移除才會乾淨.不過簡單又不會影響太多部分.

  • Docker in Golang by Jamie Sa slide

    • 主講人相當的有趣的,主要是來探討為什麼docker會用到golang 來撰寫

    • 所以一開始會講到當初 docker 創辦人遇到一個什麼樣的狀況,以及簡單的介紹LXC (docker 系統的核心)

    • 並且很有趣的來觀察github 上面docker project的狀態,並且分析第一個submit的整個架構與當初兩個創辦人是如何去思考整個系統的架構.

    • 令人相當驚訝的是第一個docker的submit竟然就是撰寫我們看到的web docker console  (是應該花一點時間好好了解人家的架構設計的用心)

http://www.meetup.com/Docker-Taipei/events/188846162/

Docker & Jenkins by Casear Chu

  • Except Jenkins (other CIs) 

    • Travis

    • Door.io (not sure)

  • Docker in Docker

    • Scenario:

    • Jenkins in one Docker

    • Use Jenkins to launch other docker for CI testing

    • WebSite:

    • https://github.com/jpetazzo/dind

    • Detail:

    • Launch one ubuntu docker and install docker in this ubuntu.
  • Docker Jenkins

    • Need apt-get jenkins from ubuntu image not jenkins image

    • Because need Docker in Docker in site. 

  • Jenkins using docker  (two processes) 

    • https://docs.docker.com/articles/ambassador_pattern_linking/

    • Docker System building process

    • Check github periodically 

    • download node.js system(private repository) and build docker

    • node.js image process

    • Git pull node.js code

    • run docker system to load node.js

    • run test

    • Note about report:

      • docker run -d (wait test report finished)
    • Using NVM (node. version manager) to switch variance node.

      • Note: npm install will take time.
    • Jenkins might need restart when installed plugin

    • use _docker stop _and _docker start _for this
  • file mapping

    • [https://registry.hub.docker.com//busybox/](https://registry.hub.docker.com//busybox/)

    • docker run -v source folder; mapping folder busybox 

    • using docker -privileged

• Docker in Golang by Jamie Sa

https://speakerdeck.com/jamessa/docker-in-golang_
_

  • About presenter  Founder 

  • Docker system

    • Base on LXC 

    • PID namespace is most import improvement in Linux kernel 2.6.4.for LXC which docker is based on this architecture.

  • Most of the appeal for me is not the feature that GO has, but rather the features that have been intentionally led out — People said about Golang

  • Why use Golang for Docker by docker founder (slide)

    1. Static compilation

    2. Neutral

    3. It has what we need

    4. full development environment

    5. multi-arch build

  • Docker first version is write console mode in web (as sample in docker.io)

  • 利用Github docker 的change list 來了解整個 Docker 的建立的想法

    • 第一個submit 把docker console建立起來,並且根據LXC來創立docker的骨幹
  • Docker  的優點

    • 更小(不需要整個VM的肥大的系統)

    • 更快  

Not related but reference:

[WDK] Note about propitiatory driver develop and install

  • WDK 

    • building

      • build -cefw

      • build -cgz

  • Driver launch 

    • Service

      • Using SC (Service Control)
    • Device driver

      • Using *.Inf to install it
  • Disable digital signing check ( forever)

    • If failed need go to BIOS setting to disable Security Boot

      • in Boot-> Authentication-> Security Boot
    • “bcdedit -set test signing ON”

  • Disable digital signing for once

    • Win8 -> 變更電腦設定 -> 還原 -> 進階開機
  • Install driver step

    • [裝置管理員] -> node 0 -> [動作] -> [新增傳統硬體] -> 選擇 inf

    • remember  inf file need  exist with x86 driver

    • x64 need another place according to your inf setting.

    • Still occur error because the SYS still need to signed 

  •  Install Digital signature and sign your SYS file (x64 only is enough if you using 

  • Note, there might be an error if the category file error

    • Error:

      • 裝置管理員 -> Digital signature still failed event you already signed it.
    • Solution:

      • Using “infract”  refer here

        • Note: Need use WDK 8.1 if you want to use Win8.1 OS identifier

        • “inf2cat /driver:INF_ADDRESS /os:6_3_X86,6_3_X64”

      • It will find digital signature in 裝置管理員

      • Must use WDK for Win8.

      • Don’t forget to use digital signature to  sign CAT file before you try to install INF.

  • Install INF driver via 裝置管理員

    • Error: 

      • 無法驗證數位簽章
    • Solution:

      • Testsigning need to change from off to On.

      • Reboot again and check 裝置管理員

 

[GTUG 2014 June] Google IO Extended Taipei (臺北方面)

這次很熱血的去參加了GTUG在Google Taipei 辦公室的活動,由於名額僅限70個所以很幸運有搶到.
正式在Google IO 2014 開始前,先有臺北這邊有人分享跟雲端與Google Glass有關的議題

關於Google IO內容部分,直接看HackPad上面的資料吧
https://hackpad.com/Google-IO-2014–AI39FmbnlsI 

[ffmpeg][ios][Android] 如何在iOS/Android上面使用 ffmpeg

自從在Windows完成 live555(OpenRTSP)與 ffmpeg之後,就很想把它整理好之後放到iOS與Android上面.
不過尋找了一下,發現大部份人在iOS與Android上面都是直接使用 ffmpeg來播放 RTSP的資料.
不過其實Android  4.0之後其實 Videoview就已經支援RTSP的播放,那麼為何還需要ffmpeg呢?
—>  利用 VideoView 會有10 秒的延遲,如果想要把延遲減少比較好的方式就不要用build-in player而是使用ffmpeg來播放檔案或是RTSP streaming

所以把如何使用的部分做了一下整理,分別有iOS與Android的部分如下:

[OpenCV] 相機增加物件追蹤(Object Tracking)的部分

OpenCV是一個相當好用的影像處理SDK,除了可以快速開發相機測試程式之外,也有許多功能可以增加.

最近看到一般數位相機有類似的功能,於是去找了一下.以下是示意影片.完整網址在這裡,不過他有用到OpenFramework去操控OpenCV個人覺得不好使用.比較推薦直接使用OpenCV其實程式會很小.

NewImage

 

 研究了一下,發現其實效果不錯.於是整理出一個簡單的 VS2013 Console 的測試程式
(本來有想用 Python 後來發現需要太多的原件而且很難debug,所以先弄Windows版本) 

https://github.com/kkdai/OpenCVConsole

這個測試程式主要可以讓我測試一些功能,他目前支援以下一些功能:

  • 起始你的Camera 並且使用最預設的解析度

  • 支援旋轉,他的熱鍵如下:

    • t/T: 90度旋轉

    • f/F: 180度旋轉

    • r/R: 270度旋轉

    • n/N: 回復原狀

  • 灰階化,方便之後做進階的影像處理(熱鍵 g/G)

  • 物件追蹤,目前測試發現辨識率不高,並且灰色階也沒有差異.使用方式如下:

    • 利用你的滑鼠去選取你要追蹤的部分

    • 他會複製起來~並且把你要追蹤的部分用匡線標起來

狀況大概是以下狀態:

OpenCVOT

[iOS]第一個iOS App上架- 粉絲相簿 1.0

被退回來三次,被要求加上教學模式後,人生第一個自己弄的iOS App終於上架.
以下的鏈結可以下載:  https://itunes.apple.com/tw/app/fen-si-xiang-bu/id839324997?l=zh&mt=8

這裡記錄一下整個心路歷程,排除掉App本身比較困難的部分之外:

  • 一開始其實最困難的其實就是開啟一個App的憑証,並且讓iPhone可以正常的安裝到憑証.(其實是讓Xcode安裝憑証) 

  • 可以安裝App到手機後,之後困難的就是上傳的問題還有Provisioning Profiles的簽署

  • 好不容易上傳上去後,接下來就是等待審查

  • 第一次失敗:  有兩個問題

    • FB Login 會跳出網頁,也就是我的 Single Sign On 沒弄好

    • 要求增加分享的功能

  • 修復好SSO之後並且增加了分享功能後又送上去審查,又被打回來

    • UI需要有更清楚的標示.
  • 經過解釋後把整個說明網頁弄得清楚一點之後,又送上去.結果第三次被打回來:

    • 還是覺得不夠清楚,雖然我在solution center裡面有解釋整個流程,但是審查人員希望可以有tutorial告訴使用者.
  • 這時候花了比較多的時間,問了一些人有沒有比較好的tutorial 的SDK可以用.有人推薦了這個WSCoachMarkView.真的算簡單,然後方便的.

  • 總算通過審查,但是仍然久久沒上架去看了一下後,發現遇到 Pending Contract,原來是銀行跟稅務沒有設定好.參考這裡

  • 最後就會出現Wait for Sale,再過沒多久就出現啦.

  • 最後分享一下如何分享你的App網址給人家

  • 到iTune 裡面尋找你的App,在圖示上面按下右鍵複製鏈結就可以了.

  • 想要更多關於我App粉絲相簿的介紹?去 Github看吧  https://github.com/kkdai/iOS-APP-FBAlbums

參考: