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”。 |
| 3. | ![]() |
找到 "Docker" 并点击它. |
| 4. | ![]() |
============================================================================
最后一步
相信非常多新手看完上面的指南仍然云里雾里,留了最后一层窗户纸:在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
DockerHub基于Github自己主动化构建的更多相关文章
- Android自己主动化构建之Ant多渠道打包实践(下)
前言 上一篇(Android自己主动化构建之Ant多渠道打包实践(上))已经介绍了Android的apk是怎样构建的,本篇博客继续Ant打包的实践过程. 集成友盟统计SDK 这里以友盟统计为例,对各个 ...
- gulp自己主动化任务脚本在HybridApp开发中的使用
眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具. ...
- 基于反射实现自己主动化restful开发
[Author]: kwu 基于反射实现自己主动化restful开发,通用的仅仅须要写查询数据库的sql.并增加相应的javabean实现的高速restful服务的开发. 1.编写数据库的查询sql. ...
- 基于QTP的自己主动化測试框架介绍
继前面用了七章介绍了基于QTP的自己主动化測试框架,以下再用几个视频再补充一下. 视频一:基本框架特点介绍说明 .框架的特点从正反两面进行了分析以及主要思想 http://v. ...
- 【金阳光測试】基于控件核心技术探讨---Android自己主动化系列(2)---2013年5月
第一讲分享了下安卓自己主动化一些概况和一些自己主动化框架现状和技术可以解决什么样的问题. 这次课就深入到android世界里面.遨游.翱翔.深入了解自己主动化測试核心技术. 搞过编程开发的同学听到in ...
- Windows环境搭建Web自己主动化測试框架Watir(基于Ruby)
web自己主动化測试一直是一个比較迫切的问题 图1-1 须要安装的工具 http://railsinstaller.org/ 由于安装Ruby还须要用到其它的一些开发工具集.所以建议从站点http:/ ...
- 【前端福利】用grunt搭建自己主动化的web前端开发环境-完整教程
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发者.假设你如今还不知道grunt或者听说过. ...
- Mock+Proxy在SDK项目的自己主动化測试实战
项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...
- 带有机器人框架的.NET自己主动化測试
Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...
随机推荐
- 浏览器在线查看pdf文件 pdf.js的使用教程
谷歌浏览器可以直接在线查看pdf,而IE内核浏览器无法在线查看,默认是下载. 这里用到的是pdf.js,不仅支持IE内核浏览器,而且兼容手机查看pdf 官网地址:http://mozilla.gith ...
- BZOJ 1951SDOI2010 古代猪文
真是到很强的数学题 先利用欧拉定理A^B %p=A^(B%φ(p)+φ(p) ) %p 然后利用卢卡斯定理求出在modφ(p)的几个约数下的解 再利用中国剩余定理合并 计算答案即可 By:大奕哥 #i ...
- 鸟哥的私房菜:Linux文件与目录管理
1. 目录与路径 1.1 相对路径与绝对路径 绝对路径:路径的写法『一定由根目录 / 写起』,如:/usr/share/doc 这个目录. 相对路径:路径的写法『不是由 / ...
- BZOJ 2750 HAOI 2012 Road 高速公路 最短路
题意: 给出一个有向图,求每条边有多少次作为最短路上的边(任意的起始点). 范围:n <= 1500, m <= 5005 分析: 一个比较容易想到的思路:以每个点作为起点,做一次SPFA ...
- opencv 利用Haar 人脸识别
#include <opencv2/opencv.hpp> #include <cstdio> #include <cstdlib> #include <io ...
- 记一次帮朋友解决apache站点403错误的过程
apache版本: [root@iZ25eby2utyZ web]# rpm -qa | grep httpd httpd-tools--.el6.centos..x86_64 httpd--.el6 ...
- POJ 3580 SuperMemo (splay tree)
SuperMemo Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 6841 Accepted: 2268 Case Ti ...
- Eclipse批量替换
情景: 我需要将项目中所有有"上样板"的字样替换为"PCR板",如果寻找单个页面肯定是很麻烦,而且替换很有可能不全,那么该怎么才能完全替换呢? 解决方法: ec ...
- objective-c block 详解 转
Block Apple 在C, Objective-C, C++加上Block這個延申用法.目前只有Mac 10.6 和iOS 4有支援.Block是由一堆可執行的程式組成,也可以稱做沒有名字的F ...
- 通过使用第三方开源jar包sigar.jar我们可以获得本地的信息
1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到java路径.比如windows32位操作系统需要将lib中sigar ...





