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 ...
随机推荐
- Winform 串口通讯之读卡器
老板给我的第一个硬件就是一个读卡器, 说让我做一下试试,于是从网上查了查就写了出来,相当的简单. 但是后来还有一个地磅的串口通讯,我整整搞了一天. 在窗体类的构造函数中写入 Form.CheckFor ...
- php异步实现,避免长时间等待
处理的php异步的方法有好几种,这里我就只介绍我经常用的而且官方也推荐的 废话少说,直接贴代码 //php异步 public function doRequest($host,$path, $para ...
- bzoj1402 Ticket to Ride 斯坦纳树 + 状压dp
给定\(n\)个点,\(m\)条边的带权无向图 选出一些边,使得\(4\)对点之间可达,询问权值最小为多少 \(n \leqslant 30, m \leqslant 1000\) 首先看数据范围,\ ...
- [POI2015]Łasuchy
[POI2015]Łasuchy 题目大意: 圆桌上摆放着\(n(n\le10^6)\)份食物,围成一圈,第\(i\)份食物所含热量为\(c_i\). 相邻两份食物之间坐着一个人,共有\(n\)个人. ...
- [COGS2639]偏序++
[COGS2639]偏序++ 题目大意: \(n(n\le40000)\)个\(k(k\le7)\)元组,求\(k\)维偏序. 思路: 分块后用bitset维护. 时间复杂度\(\mathcal O( ...
- 【JavaScript代码实现二】通用的事件侦听器函数
// event(事件)工具集,来源:github.com/markyun markyun.Event = { // 页面加载完成后 readyEvent : function(fn) { if (f ...
- BZOJ 1854: [Scoi2010]游戏 并查集
1854: [Scoi2010]游戏 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 2672 Solved: 958[Submit][Status][ ...
- request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别(记录)
1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttr ...
- ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)
catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件.否则会出现类似如下的错误: /home/xx/xx_ws/srcA_package/src/db.hpp:13:26: f ...
- iptables详解与Centos7 关闭防火墙
http://www.cnblogs.com/metoy/p/4320813.html CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1.直接关闭防 ...





