GitHub Action构建并推送DockerHub

Github actions + Docker实现持续部署 准备工作 详细步骤参见参见 https://www.htmler.cn 使用Github action自动部署,需要准备以下东西: 一台能上外网的Linux服务器,并且安装了docker 将已有项目推送到Github仓库 注册阿里云容器镜像服务(免费) 点我跳转过去 创建镜像仓库 在阿里云容器镜像服务上添加命名空间 创建存储镜像的仓库 创建好以后,选择刚才创建的仓库,点击左侧基本信息,复制一下这个公网地址备用 创建Secrets 登录你的github进入项目仓库,依次点 阅读详情

前言

偶尔会构建一些自己用的容器,之前一直用的是Docker提供的构建服务,然而Docker开始收费了,那只能另寻他法。

之所以不本地构建推送,是因为构建的时候经常因为网络问题,访问不了一些资源,所以就依赖外网的服务。

Github Action

之前知道Github Action可以做到这个事情,由于Docker官方提供了相关服务,我对于实时性的需求不高,所以一般就将Dockerfile推送到Github就了事了。

创建Action

如下图操作:

在这里插入图片描述

编写Action

这里使用了手动构建,文件变更之后不会自动构建。

同时这里依赖Github设置中的SECRET服务。

name: Publish Docker image

on:
  workflow_dispatch:

jobs:

  build:

    runs-on: ubuntu-latest

    steps:
      - name: Check out the repo
        uses: actions/checkout@v3

      - name: Log in to Docker Hub
        uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Extract metadata (tags, labels) for Docker
        id: meta
        uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
        with:
          images: imjcw/ssh-go
          tags: latest

      - name: Build and push Docker image
        uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
        with:
          context: .
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}

定义SERECT

在这里插入图片描述

执行构建

进入Actions操作界面,选择对应workflow,点击执行。

这时候只需要等待构建成功,若出现失败,可以查看失败原因,然后重新构建。

在这里插入图片描述

推送到其它云

吐槽一下阿里云的自动构建,不能访问外网,连golang基本的都支持不了

这里以阿里云作为示例

设置阿里云环境信息

容器镜像服务 -> 个人实例 -> 访问凭证 -> 设置固定密码(也可以通过临时密码获取,需要做的事情会复杂一点)

在这里插入图片描述

编写Action
name: Publish Docker image 2 Aliyun

on:
  workflow_dispatch:

jobs:

  build:

    runs-on: ubuntu-latest

    steps:
      - name: Check out the repo
        uses: actions/checkout@v3
      
      - name: Log in to Docker Hub
        uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
        with:
          registry: registry.cn-beijing.aliyuncs.com
          username: ${{ secrets.ALIYUN_DOCKER_USERNAME }}
          password: ${{ secrets.ALIYUN_DOCKER_PASSWORD }}
      
      - name: Extract metadata (tags, labels) for Docker
        id: meta
        uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
        with:
          images: registry.cn-beijing.aliyuncs.com/imjcw/ssh-go
          tags: latest
      
      - name: Build and push Docker image
        uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
        with:
          context: .
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}
其它操作和上面一致

不演示了

最后

使用Github Action构建,是为了利用其可以正常访问外网的资源,使用阿里云镜像服务是为了能够使用加速服务(Docker配置过相关镜像,效果不明显)。

虽然过程有点折腾,最后问题还是得到解决了。

利用阿里云镜像仓库和 Github Action 同步镜像 利用阿里云镜像仓库和 Github Action 同步镜像由于某些未知原因,国内无法直接从 DockerHub 拉取镜像,在不使用 VPN 等违法工具的情况下,可以利用 GitHub 的 Action 流水线功能,将镜像推送到阿里云的个人镜像仓库中。这种方式相较于其他方式虽然相对麻烦,但好在免费,且实现难度较小。 阅读详情

相关推荐

一文读懂资管系统里的“清算路径”:钱和券的“导航地图”

简单来说,清算路径就是给每一笔交易预设好的“导航路线”。钱从哪个银行账户出?通过哪家证券公司去买?用哪个股东账户去登记?买回来的股票记在谁的名下?“清算路径”就是把这一连串问题的答案提前配置好。它连接了银行托管户(钱的源头)、券商(交易的中介)和交易所(买卖的市场)。没有配好这条路,交易就无法闭环。清算路径是金融基础设施的缩影。资金如何安全地从银行流向市场;资产如何合法地归属到产品名下;交易数据如何在不同系统间流转。它是资管系统能够日复一日、准确无误地处理亿万级交易的基石。

m0_37607945的博客 236

巧用Github Action 自动推送docker镜像,白piao github服务器资源,还省时又省力

对于个人开发者来说如果不想再自己电脑上搭建CI/DI系统(毕竟吃资源),Github Action是一个不二的选择。本文我们来通过 Github Action 实现 SpringBoot 项目的自动编译、制作doceker镜像,最后推送到docker hub 仓库。Github Action 是 Github 推出的一个持续集成和持续交付的平台,能够让你自动化你的编译、测试和部署流程。

LoveSummer 4万+

Diffusion、VAE与GAN:三大生成模型的原理对比与应用场景解析

本文深入解析了Diffusion、VAE与GAN三大生成模型的核心原理与特性。Diffusion模型通过逆向去噪过程实现高质量图像生成,但计算成本较高;VAE擅长学习概率潜空间,训练稳定但图像偏模糊;GAN通过对抗训练生成锐利图像,但存在模式崩溃风险。文章结合实战场景,为图像生成、修复、超分辨率等任务提供了清晰的模型选择指南。

weixin_29063979的博客 343

如何使用Github Action优雅的同步国外镜像到DockerHub或私有仓库

如何使用Github Action优雅的同步国外镜像到DockerHub或私有仓库由于国内上网环境的原因,在部署某些云原生应用时,通常会遇到镜像无法直接拉取,国外仓库中的镜像,在最开始的做法是使用他人同步到dockerHub仓库中的此版本镜像,或者是采用国外的vps虚拟主机使用docker命令的方式复制到Hub仓库。0x00 快速入门。

全栈工程师修炼指南-IT知识分享 1426

在abaqus中利用point-based 来快捷定义螺栓连接

abaqus中可以通过point-based方式定义连接点的位置,并对连接方式进行定义,可以进行螺栓连接的模拟。 可以通过逐点输入坐标或导入外部的坐标位置 也可以通过阵列的方式定义点 定义完点后就利用create fasteners,选择point-based,选取刚才创建好的点阵列,然后定义连接的属性,如下图 定义connector section时,类型选择translator,相当于只有1方向可以动,定义弹性模量以及破坏准则。 案例操作 假如有两个板,通过...

fiber_tape的博客 7340

AgentFlow:模块化智能体框架与Flow-GRPO强化学习实战解析

在人工智能领域,大语言模型(LLM)与智能体(Agent)技术正推动着自动化任务处理的发展。其核心原理在于通过规划、执行与反馈的循环,使AI系统能够自主调用工具解决复杂问题。这一技术的价值在于突破单一模型的局限性,实现更可靠的多步骤推理。在实际应用中,智能体框架需要处理搜索、代码执行、数学计算等多种场景。本文聚焦的AgentFlow框架,正是通过模块化设计将智能体拆分为规划者、执行者、验证者和生成者四个专家模块,并引入Flow-GRPO强化学习算法进行流程内优化。该框架在搜索增强与工具调用等任务上展现出显著

weixin_42311427的博客 367

github workflow使用docker部署springboot并推送到阿里云镜像仓库

github workflow使用docker部署springboot并推送到阿里云镜像仓库

fengxiandada的博客 2092

Android 集成 Google 与 Facebook 第三方登录实战详解(2024版)

本文详细介绍了2024年Android应用集成Google与Facebook第三方登录的完整实战指南。通过分步教程和代码示例,帮助开发者快速实现一键登录功能,提升用户体验和注册转化率,同时涵盖隐私合规和常见错误处理的最佳实践。

blue的专栏 822

【docker】使用github action来自动发布项目到dockerhub

本文首发于使用github action来自动发布项目到dockerhub。参考 https://msdemt.github.io/p/github-action-build-docker/ 博客。

慕雪华年的博客 2594

Upwork入门指南:如何创建吸引人的个人资料

本文详细介绍了如何在Upwork上创建并优化个人资料,帮助自由职业者吸引更多客户。内容包括: 注册与验证:从注册账号到邮箱验证的完整步骤。 个人资料填写:如何撰写吸引人的标题、简介,选择技能标签,以及设置专业头像和费率。 作品集与优化:上传高质量作品集,提升搜索排名和客户信任度。 常见问题解答:解决新手常见问题,如无工作经验或审核不通过。 通过本文的指导,你将学会打造一个专业且高效的个人资料,为在Upwork上获得更多机会奠定基础。

qq_61813593的博客 3518

姿态传感器/陀螺仪之LSM6DS3TR-C应用原理图设计

LSM6DS3TR-C是一款由意法半导体(STMicroelectronics)推出的高性能、低功耗的惯性测量单元(IMU),集成了3轴加速度计和3轴陀螺仪,用于测量加速度、角速度以及设备的姿态和运动。

corlin6688的博客 872

Github自动构建及推送DockerHub

Github自动构建及推送DockerHub

三枪八路的博客 685

SGP4/SDP4详解

**SGP4** (Simplified General Perturbations Version 4) 和 **SDP4** (Simplified Deep-space Perturbations Version 4) 是一组**解析轨道预报模型**,用于预测地球轨道卫星的位置和速度。它们是北美防空司令部(NORAD)维护的**TLE**数据格式的标准配套算法。 简单来说:**TLE是卫星轨道的"身份证",而SGP4/SDP4是解读这张身份证的"说明书"**。

ScilogyHunter的博客 589

github action推送-构建准备步骤获取私有dockerhub镜像仓库镜像的一系列错误尝试

尝试从私有Docker仓库拉取镜像时遇到的一系列域名证书问题,最后问题停在了"certificate signed by unknown authority"错误,因此建议使用正规域名证书解决该问题。

长歌的博客 1287

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Github Action 一键部署Flask 应用

flask github action快速构建

oneslide 1714

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Fastgpt学习(4)- 使用Github Action构建Docker镜像

FastGPT - 使用Github Action构建Docker镜像

QW's Blog 1618

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

基于GitHub Action实现项目 CI / CD 模式的自动化部署上线

在项目部署上线的时候 , 我们经常在不同的系统切换(我通常是在window本地开发 , 在服务器Linux部署) , 十分的麻烦 , 为了更方便的项目迭代和项目部署 , 今天介绍一下GitHub Action 这一神器 , 下面将分析三种action任务。

2301_79635068的博客 1346

lo/login-action:GitHub容器镜像推送的终极登录解决方案

lo/login-action是一款专为GitHub Actions设计的Docker仓库登录工具,能够帮助开发者在CI/CD流程中快速、安全地完成容器镜像仓库的身份验证,为后续的镜像推送操作奠定基础。无论是Docker Hub、GitHub Container Registry还是AWS ECR等主流仓库,它都能提供一致且高效的登录体验。 ## 为什么选择lo/login-action? 在

gitblog_01022的博客 901

Github action自动打包镜像

1. GitHub上创建仓库,配置Docker Hub账户密码 1.1 git项目配置 1.2 DockerHub创建仓库 2. 编写yaml # This workflow will build a Java project with Maven # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven #

chtw的博客 1670

GitHub Actions构建Docker镜像

GitHub Actions是为GitHub上的项目添加CI / CD工作流的自动化工具。注意:在本文中,我们将讨论将CI / CD工作流程集成到使用Docker的项目中的各个步骤。在使...

DevOps持续集成的博客 3527

为什么build-push-action是现代Docker构建的最佳选择:终极指南

在现代DevOps和CI/CD流程中,Docker镜像的自动化构建与推送已成为开发团队的核心需求。GitHub Actions的build-push-action正是为这一需求而生的终极解决方案,它集成了Docker Buildx的强大功能,为开发者提供了完整、高效且灵活的构建推送体验。作为Docker官方维护的项目,build-push-action已经成为GitHub Marketplace中

gitblog_00067的博客 1078

Github Actions 推送代码构建 Docker 镜像并 push 到仓库

Aliyun AKC 服务 https://cr.console.aliyun.com/Docker hub 官方 https://hub.docker.com/私有的 Harbor 服务 https://goharbor.io/

yuluo的博客 2461

Publish-Docker-Github-Action终极教程:从基础配置到高级用法全解析

GitHub Actions 已经成为现代软件开发中不可或缺的 CI/CD 工具,而 **Publish-Docker-Github-Action** 则是 Docker 镜像发布领域的终极解决方案。这个强大的 GitHub Action 能够自动化 Docker 镜像的构建和发布流程,让开发者专注于核心业务逻辑。无论你是 Docker 新手还是经验丰富的 DevOps 工程师,本指南将为你提供从

gitblog_00671的博客 755

DockerHub被封禁,怎么将镜像传到国内?一种简单合规的镜像同步到国内方案[最佳实践]

容器镜像本质还是对文件的一种组织管理方式,具有传播数据和信息的能力,因此对于其分发的文件内容需要符合地方的法律法规,在没有完成合规的要求前应该无法直接面向国内提供服务。 鉴于DockerHub是绝对权威和全面的容器镜像托管平台,无法使用托管在该平台上优质的镜像,绝对是国内信息科技业的重大损失。

藏云阁技术社区 1494

docker hub + github action x持续集成CI/CD

docker + github 持续集成CI/CD docker 持续集成 参考官网:https://docs.docker.com/ci-cd/best-practices/,大致如下: 2020 Jetbrains developer 调查,44%的docker 容器开发者使用了持续集成技术,所以写了一篇文档指导开发 You can create new access tokens from your Security page on Docker Hub. 一个简单的github actionx,

zishuijing_dd的博客 723

通过github action完成自动多平台编译和docker推送

因为一个小项目,之前一直是手动制作镜像,现在需要用docker部署,然后还要基于arm64编译,想着不如实践一下,学习一下github action和Dockerfile的编写。Dockerfile是可以通过docker提供的最小系统镜像,通过编写指令可以自动配置运行/编译环境,避免之前每次发布一个版本就得手动pull系统自己安装环境和导入项目程序的无意义劳动。......

wmdscjhdpy的博客 3089
上一篇: 配置一个 Github Actions 定时任务
IMJCW
博客等级 码龄10年 13粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值