DockerHub基於Github自己主動化構建


Docker Hub上的自己主動化構建

關於自己主動化構建

自己主動化構建是一個特殊的功能,它同意您在 Docker Hub 上使用構建集群,依據指定的 Dockerfile 或者 GitHub 、 BitBucket 倉庫(或環境)來自己主動創建鏡像。該系統將從倉庫復制一份,並依據以倉庫為環境的 Dockerfile 的描寫敘述構建鏡像。

由此產生的鏡像將被上傳到注冊表,而且自己主動生成標記。

自己主動化構建有很多優勢:

  • 你的自己主動化構建項目一定是准確依照預期構建的
  • 在 Docker Hub 注冊表上,不論什么擁有你倉庫訪問權限的用戶都樂意瀏覽 Dockerfile
  • 自己主動化構建保證了你的倉庫總是最新的

自己主動化構建支持 GitHub 和 BitBucket 的私有和公有的倉庫。

要使用自己主動化構建,你必須擁有經過驗證有效的 Docker Hub 賬戶和 GitHub/Bitbucket 賬戶。

設置GitHub自己主動化構建

首先,你須要將 GitHub 賬戶鏈接到你的 Docker Hub 賬戶,以同意注冊表查看你的倉庫。

注:眼下我們須要有讀寫權限以建立 Docker Hub 和 GitHub 的掛鈎服務。這是GitHub管理權限的方式,我們別無選擇。抱歉!我們將保護您的賬戶及隱私,確保不會被他人非法獲取。

開始構建!登錄到你的 Docker Hub 賬戶。點擊屏幕右上方的 "+ Add Repository" button,選擇自己主動化構建

選擇GitHub服務

然后依照說明授權和連接你的 GitHub 賬戶到 Docker Hub。

連接成功后,你就能夠選擇用來自己主動化構建的倉庫了。

創建一個自己主動化構建項目

你能夠用你的 Dockerfile 從你的公共或者私有倉庫創建一個自己主動化構建項目

GitHub子模塊

假設你的 GitHub 倉庫包括了私有子模塊的連接,你須要在 Docker Hub 上加入部署秘鑰。

部署秘鑰位於自己主動化構建主頁的 “Build Details” 菜單。訪問設置 GitHub 倉庫的頁面,選擇 “Deploy keys” 來加入秘鑰。

Step Screenshot Description
1. 你的自己主動化構建部署秘鑰位於 “Build Details” 菜單的 “Deploy keys” 下。

2. 在你的 GitHub 子模塊倉庫設置頁。加入部署秘鑰。

GitHub組織

一旦你的組織成員身份設置為公開,相應的 GitHub 組織狀態便會被公開在你的 GitHub 上。

為了驗證。你能夠查看 GitHub 上你的組織的成員選項卡。

GitHub服務掛鈎

依照下面步驟配置自己主動化構建的 GitHub 服務掛鈎:

Step Screenshot Description
1. 登錄到 GitHub.com,並轉到您的倉庫頁面,點擊右側頁面“Settings”。

運行該操作要求你有該倉庫的管理員權限。

2. Webhooks & Services 點擊頁面左側的“Webhooks & Services”。
3. Find the service labeled Docker 找到 "Docker" 並點擊它.
4. Activate Service Hooks
============================================================================


最后一步

相信非常多新手看完上面的指南仍然雲里霧里,留了最后一層窗戶紙:在Github項目頂層文件夾加入配套的Dockerfile

FROM ubuntu

MAINTAINER Wei Zhou <cszhouwei@gmail.com>

RUN apt-get update; \
    apt-get -y upgrade

RUN apt-get -y install g++ cmake git subversion

RUN mkdir /home/git; \
    cd /home/git; \
    sudo git clone https://github.com/cszhouwei/cmake_demo.git -b master; \
    cd cmake_demo; \
    mkdir build; \
    cd build; \
    cmake -DCMAKE_BUILD_TYPE=Release ../; \
    make
    
CMD ["/home/git/cmake_demo/buld/module_xxx/module_xxx", "--config", "/etc/module_xxx.conf"]
上述Dockerfile位於我的cmake_demo演示樣例項目。有興趣的讀者請自取!

Github:https://github.com/cszhouwei/cmake_demo.git

DockerHub:docker pull cszhouwei/cmake-demo


參考文獻

https://github.com/widuu/chinese_docker/blob/master/SUMMARY.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM