2020.01.09更新 使用GitHub Action构建image&推送docker hub
本文最后更新于 2020年08月13日

前言

docker hub自带链接GitHub仓库功能,提交更改会自动构建docker image,那么为什么还要用GitHub Action来构建?原因如下,docker hub构建镜像速度很慢,简单一点的镜像,构建的速度还能接受,复杂一点的,比如说需要编译程序,那速度就很捉急了,这时候就需要用到GitHub Action,速度翻个3倍还是能做到的,其二:docker hub的自动构建是每一条推送修改都会构建,意味着即使只修改readme,它也会再build,因为队列排队的缘故,真正修改好,需要用的时候,那个镜像还再排队等着构建,这就很难让人接受了,并且这样很浪费docker hub的资源,GitHub Action在这方面就的可自定义能力就强很多了

教程

在仓库中开启GitHub Action功能

之后所在仓库会出现一个yml,路径是/.github/workflows/

这里我用的是https://github.com/elgohr/Publish-Docker-Github-Action 的yml

把下面这段代码复制进这个yml,并重命名为Publish Docker.yml

name: Publish Docker
on: 
  release:
    types: [published]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Publish to Registry
      uses: elgohr/Publish-Docker-Github-Action@master
      with:
        name: superng6/test
        username: ${{ secrets.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_PASSWORD }}
        tag_names: true
        cache: true

部分名词解释:on,条件判断,判断是何种情况开始执行流程,常用的有push,release,我推荐release

name:这个job的名字,我这个job是构建镜像并推送

uses:这个是yml编写者的名字和流程名,我这里选用的是elgohr/Publish-Docker-Github-Action@master,简单易用,文档也写的非常翔实

后面with这个,name就不说了,你的dockerhub id和你的docker镜像名,我相信都能看懂

cache:加快构建速度,如果镜像不复杂不需要编译的话可以不用

tag_names:依据分支名称推送,master分支默认latest,其他分支按照分支名称命名并推送

着重说一下最后两个参数

username:dockerhub id

password:dockerhub password

需要在GitHub这个项目的所在仓库创建secrets

在这里手动添加KV

开始构建

如果你的仓库已经准备好开始构建镜像了,就点击release,之后会自动构建并推送到docker hub上

原本在dockerhub需要90分钟才能构建完成的镜像,在GitHub Action中只需要30分钟(编译qBittorrent-Enhanced-Edition

原创声明
本文由 NG6 于2020年01月06日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:2020.01.09更新 使用GitHub Action构建image&推送docker hub | sleele的博客

评论

  1. DDD
    Windows Edge
    3年前
    2020-12-28 23:40:33

    这个还支持全平台镜像构建吗?

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇