使用Github自动构建Docker

简介: 原文链接: http://yangbingdong.com/2017/docker-automated-build-by-github/一开始玩Docker总是用别人的镜像确实很爽歪歪.

原文链接: http://yangbingdong.com/2017/docker-automated-build-by-github/

一开始玩Docker总是用别人的镜像确实很爽歪歪...
But,如果要定制个性化的Image那就必须要自己写Dockerfile了,但是每一次修改完Dockerfile,都要经过几个步骤:
Built -> Push -> Delete invalid images
对于程序猿而言做重复的事情是很恐怖的,所以博主选择Github自动构建Docker Image~

Create automated repo

在Github上面创建一个项目并把Dockerfile以及上下文需要用到的文件放到里面。
Dockerfile的讲解不在本篇范围内~

Link repository service

首先需要绑定一个仓库服务(Github):

1、登录Docker Hub
2、选择 Profile > Settings > Linked Accounts & Services
3、选择需要连接的仓库服务(目前只支持GithubBitBucket);
4、这时候需要授权,点击授权就可以了。

Create an automated build

自动构建需要创建对应的仓库类型
自动构建仓库也可以使用docker push把已有的镜像上传上去
1、选择Create > Create Automated Build
2、选择Github
3、接下来会列出User/Organizations的所有项目,从中选择你需要的构建的项目(包含Dockerfile);
4、可以选择Click here to customize自定义路径;
5、最后点击创建就可以了。


Add integration service

用过Github自动构建当然需要Github的支持啦,这里只需要在Github里面点两下就配置完成,很方便:


Add Service里面找到 Docker并添加。

Use the Build Settings page

Automated

系统会默认帮我们勾上自动构建选项:



这时候,当我们的Dockerfile有变动会自动触发构建:



还在构建过程中我们可以点击Cancel取消构建过程。

Add new build

Docker hub默认选择master分支作为latest版本,我们可以根据自己的标签或分支构建不同的版本:


(点击箭头位置会出现例子)
这样,当我们创建一个标签如1.0.2并push上去的时候会自动触发构建~

Git标签相关请看:Git标签管理

Remote Build triggers

当然我们也可以远程触发构建,同样在Build Setting页面:



然后例子已经说的很清楚了

Finally

参考:https://docs.docker.com/docker-hub/builds/

相关文章
|
Java 测试技术 Go
利用 GitHub Action 自动发布 Docker
最近公司内部项目的发布流程接入了 GitHub Actions,整个体验过程还是比较美好的;本文主要目的是对于没有还接触过 GitHub Actions的新手,能够利用它快速构建自动测试及打包推送 Docker 镜像等自动化流程。
|
2月前
|
Linux 开发工具 git
【开发专题_03】unable to access ‘https://github.com/deviantony/docker-elk.git/‘: Failed connect to github
【开发专题_03】unable to access ‘https://github.com/deviantony/docker-elk.git/‘: Failed connect to github
|
9月前
|
jenkins Java 应用服务中间件
SpringBoot+Jenkins+Github+Docker+Maven持续集成CI与持续部署CD全自动化部署
我们采用tomcat运行war包的这种方式,先来到官网下载war包:https://www.jenkins.io/download/ 然后把war包上传到tomcat的webapps里,自动就解压运行了,访问页面,然后查看并输入密码: cat /root/.jenkins/secrets/initialAdminPassword
155 0
|
编译器 Go Docker
Docker分享-在Github配置CI
Docker分享-在Github配置CI
102 0
|
Python
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
163 0
|
jenkins Java 程序员
实战:向GitHub提交代码时触发Jenkins自动构建
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建
641 0
实战:向GitHub提交代码时触发Jenkins自动构建
|
网络协议 Java 数据建模
docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
2594 0
docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
|
Docker 容器
GitHub Actions CI/CD Pipeline with Docker
GitHub Actions CI/CD Pipeline with Docker
GitHub Actions CI/CD Pipeline with Docker
|
jenkins Java 程序员
Jenkins把GitHub项目做成Docker镜像
利用Jenkin的流水线脚本,从GitHub的私有仓库下载一个Java工程,将其编译构建成Docker镜像,然后推送到私有镜像仓库里
379 0
Jenkins把GitHub项目做成Docker镜像
|
前端开发 jenkins Java
Jenkins + Docker + Github 实现自动化部署 Maven 项目
Jenkins搭配Docker结合Github实现自动化部署Maven项目,部署前端项目其实也类似如此,部署前端的文章也已经在规划中啦~ 本文更加偏向于实操,阅读完的收获 1、清楚怎么使用Docker安装 Jenkins 2、明白如何利用Jenkins部署一个Maven项目 3、知晓Jenkins如何结合Github实现自动化部署
729 0