• AspNetCore&云效Flow持续集成


    如今有了越来越多的持续集成工具,给的个人开发者的福利也是很足了,如无必要,自建工具有时只是作为练手了。


    众多持续集成工具

    现在可用的持续集成工具繁多,各大云服务商都推出了持续集成,甚至是一定条件内都是免费使用。

    • Azure DevOps 提供每个月1800 分钟的免费时长,支持单项目并行构建,5人以下。
    • GitHub推出的GitHub Action 每月2000分钟的构建时长。
    • 华为云的 DevCloud 提供的编译构建5并发,每月600分钟,5人以下。
    • Gitee 推出了Gitee Go 单个代码仓库均可直接获得200分钟免费构建时长,永久有效! 企业/组织/个人每月1000分钟免费构建时长自动到账。
    • 腾讯云与 Coding 合作的Coding DevOps,初期Coding提供5人以下免费,每周200次持续集成次数,每次限时30分钟,并行任务数1个,中间变更到每月1000分钟持续集成时长,再如今七月份后变更到每月300分钟
    • 阿里云的云效DevOps 最大并发任务数 6,运行时长 5400 分钟/月。人数不限!

    图片


    云效的功能

    云效DevOps中提供了如下功能可以使用,其中可根据实际开发中所用到的工具去比对选择。

    图片

    此处,我只想白嫖流水线用于持续集成构建Docker镜像。对于Docker镜像的存储,阿里云提供了容器镜像服务(其本身也具备镜像构建功能,但受限)。对于个人开发者练手或是小微企业存储镜像应该算满足了。

    图片

    对于代码的存储,可以选择云效 DevOps的代码管理(CodeUp)或是其他平台,这不影响流水线功能。

    图片

    如此,简单的持续集成流程需要的功能算是齐全了。

    图片


    项目设置

    账号注册、申请这类就不提了,具体就是如何来快速完成一个持续集成流程的配置。

    1、首先在代码仓库中新建项目,对于代码仓库的选择随意,我更倾向于使用 Gitee,当然也可直接使用云效提供的代码仓库。此处新建了一个仓库方便对照: https://gitee.com/530521314/Partner.TreasureChest/tree/master/Flow.Standard

    2、新建 AspNetCore WebApi项目并增加 Dockerfile、gitignore文件,整理成常用的目录形式。

    图片


    容器镜像服务设置

    1、创建命名空间(3个命名空间共存300个镜像仓库)

    图片

    2、创建镜像仓库,选择对应的命名空间,填写仓库信息。(镜像仓库下存放具体的镜像)

    图片

    3、下一步中选择本地仓库后创建即可。

    图片

    4、创建完毕会引导到该仓库下,当流水线跑完后选择镜像版本查看构建完的镜像。

    图片


    云效流水线配置

    开始使用流水线

    新建流水线,可以按照语言类别选择,此处我使用空模板。

    图片

    设置流水线源步骤

    页面跳转后会提示选择代码源,此处我使用Gitee中的仓库,选择分支,添加即可。

    图片

    增加镜像构建步骤

    1、点击空任务更改其为镜像构建(或是其他名字)

    图片

    2、添加任务步骤,此处可供选择的步骤很多,当前使用构建并推送到镜像仓库个人版

    图片

    3、选择完毕会提示填写镜像仓库地址,该地址为上一步中的容器镜像服务地址,选择地域,镜像仓库。

    图片

    4、配置目标镜像版本,默认是用日期作为镜像的标签。

    图片

    5、设置Dockerfile所在位置,此处Dockerfile是代码仓库中存储位置,如果是纯一个项目一个仓库,那就把"Flow.Standard/"这节删掉。

    图片

    6、直接保存运行即可,便会开始构建

    图片

    查看构建完毕的镜像

    可在容器镜像仓库中查看构建好的镜像,至于镜像的部署,则不再叙述。

    图片


    不止于此

    流水线的用法上很简单,还提供了很多的功能,各种通知、测试构建、直接部署等都打通了,集成度很高,很是强大。云效本身提供了很多的集成产品,我们可以使用其中几项,又可以整个基于云效去开展项目建设。对于个人开发者或是小微企业来说,感觉是相当大的福利了(当下而言)。


    2022-06-25,望技术有成后能回来看见自己的脚步

  • 相关阅读:
    java笔记使用线程池优化多线程编程
    java笔记查看和修改线程名称
    java笔记查看和修改线程的优先级
    java笔记策略模式和简单工厂模式
    java笔记用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
    java笔记枚举总结与详解
    java笔记关于克隆技术
    java笔记反射机制之基础总结与详解
    java笔记使用事件分配线程更新Swing控件
    java笔记关于int和byte[]的转换
  • 原文地址:https://www.cnblogs.com/CKExp/p/16411119.html
Copyright © 2020-2023  润新知