使用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/

相关文章
|
11月前
|
运维 数据可视化 开发者
Dpanel:Star2k,短短时间就被大家称为GitHub开源神器!轻量化Docker面板,还在等什么
如今的软件开发和运维领域,Docker容器技术已经成为一种主流的解决方案,它允许开发者和系统管理员以更高效、更灵活的方式部署和管理应用程序。然而,Docker的命令行界面虽然强大,但对于某些用户来说可能不够直观。今天,我们要介绍的开源项目——dpanel,就是一个轻量化的Docker可视化管理面板,它以其简洁、高效的特点,为用户提供了一个易于操作的界面来管理Docker容器和镜像。
1131 0
|
数据安全/隐私保护 开发者 Docker
国内docker公开镜像站的关闭!别急,docker_image_pusher 使用Github Action将国外的Docker镜像转存到阿里云私有仓库
通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。
3059 2
|
存储 前端开发 JavaScript
基于 GitHub Workflow和 Docker 构建 NextJS
基于 GitHub Workflow和 Docker 构建 NextJS
530 0
|
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
358 2
|
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
709 0
|
前端开发 jenkins Java
Jenkins + Docker + Github 实现自动化部署 Maven 项目
Jenkins搭配Docker结合Github实现自动化部署Maven项目,部署前端项目其实也类似如此,部署前端的文章也已经在规划中啦~ 本文更加偏向于实操,阅读完的收获 1、清楚怎么使用Docker安装 Jenkins 2、明白如何利用Jenkins部署一个Maven项目 3、知晓Jenkins如何结合Github实现自动化部署
1124 0
|
Docker 容器
GitHub Actions CI/CD Pipeline with Docker
GitHub Actions CI/CD Pipeline with Docker
GitHub Actions CI/CD Pipeline with Docker
|
编译器 Go Docker
Docker分享-在Github配置CI
Docker分享-在Github配置CI
244 0
|
jenkins Java 程序员
Jenkins把GitHub项目做成Docker镜像
利用Jenkin的流水线脚本,从GitHub的私有仓库下载一个Java工程,将其编译构建成Docker镜像,然后推送到私有镜像仓库里
654 0
Jenkins把GitHub项目做成Docker镜像
|
Python
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
Python实战:GitHub Actions自动构建pypa/gh-action-pypi-publish自动发布新版本到pypi
396 0