zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [AX2012 R3]在SSRS报表中使用QR二维码
    [AX2012 R3]关于Alerts
    [AX2012 R3]关于Named user license report
    [AX2012]Report data provider调试
    [AX2012]Claims user
    [AX2012]发送广播邮件
    [AX 2012] Woker user request
    AX2012 R3升级CU8的一些错误
    消失的银行 读后感
    Openstack实践(1)部署使用实例及neutron网络
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6707150.html
Copyright © 2011-2022 走看看