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 ...
随机推荐
- 机器学习之路:python线性回归分类器 LogisticRegression SGDClassifier 进行良恶性肿瘤分类预测
使用python3 学习了线性回归的api 分别使用逻辑斯蒂回归 和 随机参数估计回归 对良恶性肿瘤进行预测 我把数据集下载到了本地,可以来我的git下载源代码和数据集:https://gith ...
- Linux进程管理子系统
<进程要素> <进程与程序的区别> 程序: 存放在硬盘上一些列代码和数据的可执行映像,是一个静止的实体 进程: 是一个执行中的程序,是动态的实体 <进程4要素> 1 ...
- new Date 兼容性问题
IOS 11.1.2 iphoneX 下面解析 // 下面的代码会报错 var d = new Date('2018-09-20 19:20:32'); alert(d.getTime()); 必 ...
- 【20181103T1】地球发动机【dp优化】
题面 一眼dp 设\(f_i\)表示前\(i\)个且\(i\)必须选的最大功率 有 \(f _i= max_{1 \leq j < i,A_i - A_j > X_j} \{f_j \}+ ...
- disable_functions php-fpm root
php.ini disable_functions 禁用某些函数 需要时注意打开 php-fpm 对应conf user group为root时 ERROR: [pool www] please sp ...
- opencv第三课 Canny边缘检测
#include<stdio.h> #include<iostream> #include<opencv2\opencv.hpp> using namespace ...
- Xcode 中的IOS工程模板
1.IOS模板主要分为: Application .Framework.Other application 分为:Master-Detail Application 可以构建树形导航模式引用,生成的代 ...
- CentOS 7编译openssl
# 编译安装zlib库wget http://zlib.net/zlib-1.2.11.tar.gztar -zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./conf ...
- Unity消息
GameObject关于Message带有三种方法, gameObject.SendMessageUpwards ("test1",4);gameObject.SendMessag ...
- [翻译] The Amazing Audio Engine
The Amazing Audio Engine https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine The Amazing ...





