使用 GitHub Actions 自动构建 Dockerfile 并推送到 Docker Hub
写在前面
为什么要用 GitHub Actions 来为我们构建 Dockerfile 呢?我直接在服务器上 docker build
不行么?你这不是多此一举吗
肯定有人会有这种想法,因为他们不知道也没用过国内的服务器…
在国内服务器上构建的话,你甚至都可以开一把召唤师峡谷。
所以用国内服务器的可以利用 GitHub Actions 来帮我们构建 Dockerfile
并 push
到 Docker Hub
开始
这里我以 Spring Boot 项目为 Demo,不过你得先去注册 Docker Hub 账号。
新建一个 Spring Boot 工程,里面的代码很简单,就是用来测试的
1 |
|
application.yaml
里,就配置了一个 8989 端口,然后就没了,最后记得打包(把打包好的移进根目录)
在项目根目录新建并编写 Dockerfile
(也是网上抄来的,哈哈)
1 | # 基础镜像 jdk1.8 |
项目结构就这样,只要 Dockerfile 和 JAR 包就好了
接下来就开始编写 Actions 代码了
在项目根目录创建 .github/workflows/main.yml
1 | name: BuildDockerfileImage |
注意:最后一行的 tags 配置项,需修改,用户名/镜像名(镜像名看你喜欢取什么)
接下来就是 GitHub 上的操作了
- 新建仓库
- 在仓库配置两条密钥(
Setting -> Secrets -> New repository secret
)
Secrets Name | Value |
---|---|
DOCKERHUB_USERNAME | Docker Hub 的用户名 |
DOCKERHUB_TOKEN | Docker Hub Token,前往生成 |
随后就可以直接把项目推送到 GitHub 上了。
点击仓库中的 Actions,点击 Run workflow
(因为避免一些麻烦事,所以就设置只能手动触发构建)
然后在 Docker Hub 就看到此镜像了
打开 SSH 工具连接服务器把镜像拉取下来,拉取完成之后执行以下命令开始测试。
1 | docker run -d -p 8989:8989 [IMAGES] |
打开浏览器访问 http://IP:8989/success
完结!
参考:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小嘉的部落格!
评论