Github原生CI/CD,初尝Github Actions】的更多相关文章

Github 原生 CI/CD,初尝 Github Actions Intro Github 目前已经推出了自己的 CICD 服务 -- Github Actions,而且比微软的 Azure DevOps Pipelines 对开发者来说更友好,使用起来更好用. Github Actions 核心概念 总体看下来感觉是从 Azure Pipelines 迁移过来的东西,有许多概念和 Azure Pipelines 是类似的,如果你之前用过 azure pipelines,应该很容易上手 Run…
起源 看到.Net群里再聊CI/CD,我就这里分享一下我目前自己一些小东西的做法,我目前在Github有一个自己私有的组织,里面存放了我的部分商业化项目,早期我采用Jenkins用Webhooks进行发布部署, 但Jenkins我用起来太大.很多功能用不到而且还吃我服务器占用(ps:主要是高性能服务器太贵),抱着解决问题和节约成本的思路我发现了Github Actions. 官方说明:在 GitHub Actions 的仓库中自动化.自定义和执行软件开发工作流程. 您可以发现.创建和共享操作以执…
初衷:今天公司的前端和测试人员吵起来了.原因是测试埋怨前端人员把Bug的状态更改为已解决,结果代码根本没提交,而前端人员埋怨测试测的太频繁了,需要打几个环境的包不方便.又要改东西又要频繁打包费时间.凡正各有各的理由,就是不想办法解决问题. 哎,没办法,为了解决这种问题,我打算看看Gitlab的CI集成,如果能弄上这个那么开发只管提代码就行了,会自动构建环境. 我这也是现学现卖,今天照着官网和查资料,刚把基本的流程跑通,中间还是费了点时间的,这里记录下 gitlab ci/cd快速入门 按照官网上…
概述 Github在被微软收购后,不忘初心,且更大力度的造福开发者们,推出了免费私有仓库等大更新.近期又开放了packages和actions两个大招,经笔者试用后感觉这两个功能配合起来简直无敌. GitHub Packages 是一个和每一个代码仓库关联的软件包仓库.通俗来说就是代码仓库中存放的是源码,软件包仓库中存放的是编译输出后的可以被各个语言生态的依赖管理工具直接依赖的lib.类似的我们熟知的有maven中央仓库和nmp仓库. GitHub Actions 是一个Github原生的持续集…
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求和目标 在这个系列的最后一节中,我们将使用GitHub Actions将TodoList应用部署到Azure Container Instance上. 实现 为了确保部署的应用能够正确运行,我们需要做以下几件事: 创建Azure SQL Server实例 选择最便宜的数据库规格就可以了,新建一个ResourceGroup名为todolist,并新建数据库实例,获得连接字符串: 创建Azure Container Regist…
​ 缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 ready-for-testing 的 label 再评论一句 Jenkins go 就可以自动的运行相应的 UT 测试,效果如下: 因为是租用的 Azure 的云主机,加上 nebula 的编译要求的机器配置较高,而且任务的触发主要集中在白天.所以上述的方案性价比较低,从去年团队就在考虑寻找替代的方…
之前发布开源项目Payment Spring Boot到Maven中央仓库我都是手动执行mvn deploy,在CI/CD大行其道的今天使用这种方式有点"原始".于是我一直在寻求一种能够支持流水线作业的发布工具,能让我在进行合并代码时自动触发构建发布.有一款免费的产品能做到这一点,它就是Github Action. Github Action Github Action是由Github创建的CI/CD服务. 它的目的是使所有软件开发工作流程的自动化变得容易. 直接从GitHub构建,测…
两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试.登录远程服务器,发布到第三方服务等等.GitHub 把这些操作就称为 actions. 很多操作在不同项目里面是类似的,完全可以共享.GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用.如果你需要某个 action,不必…
软件开发一般来说是一项团队作业,在本系列文章开始就提到过软件的编码是由一个团队“并行”完成的,为了保证编码任务正常完成,首先引入版本控制工具来完成代码管理,为了保证代码质量引入了代码分析器以及代码测试. 版本控制工具可以保证代码有一个主版本,但代码分析和测试均是开发人员手动在本地完成的(通过编译.执行测试等方式),在进行代码分析和测试时可能并没有将本地代码更新到最新版本,这样就会出现一个问题,当多个开发人员向版本库提交代码时,无法保证最新代码库的代码是正确的,为了解决这个问题,提出了持续集成,持…
前言 最近发现自己的博客在使用vpn的情况下打开很慢,百度站点也抓取失败,于是将自己的博客借助hexo-deploy 插件很容易同步部署到了coding上.只需要在你的hexo配置文件_config.yml的deploy配上coding的coding page项目url(注意将ssh key 设置好) deploy: - type: git repository: - git@github.com:Han-Ya-Jun/Han-Ya-Jun.github.io.git - git@git.dev…
这里我简单介绍一下使用Github自动化部署自己项目到Heroku云服务器上,Heroku竟然是一个很非常老牌的云平台服务商,竟然还没听说过,网上一查2010被Salesforce收购,网上有很多关于asp.net core 使用(Docker和CircleCI)部署的文章,都比较旧了,也比较麻烦,必须先配置Dockerfile再Build成功镜像再部署,但现在都是2021年了.net core又那么火什么项目都再讲CI/CD,没有理由不支持直接部署的,所以经过自己的尝试成功了,那就写一篇blo…
Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建.对于做开源项目或者github的使用者,如果你的项目还没有加入Travis CI构建队列,那么我真的想对你说out了. 下面是本人的构建历史: 搭建Travis CI build,需要你有个github账号和github项目: 1:用gith…
文章目录 完成Hexo主题安装和配置 基于Travis CI实现同步部署 参考内容 相关链接 待补充 完成Hexo主题安装和配置 如果您还没有安装Hexo环境,请参考Hexo文档安装,也给出这样两篇博文----百度经验和2018最新版hexo+Github搭建个人博客教程仅供参考,这个去网上一搜到处都有,而且操作也很简单,就不赘述了. 我采用的是Indigo 主题,而且这个主题还很详细地给出了配置安装本主题的详细教程步骤(3.0 以上Hexo版本) Indigo 主题,一个Material De…
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 从实践中学习软件工程相关知识(结构化分析和设计方法.敏捷开发方法.软件测试.软件项目管理.软件开发工具和环境等),培养合作开发能力 这个作业在哪个具体方面帮助我实现目标 通过阅读全面了解软件工程的方法论和具体模式流程,同时调研版本管理软件和持续集成/部署工具 一.阅读提问 1. 软件的行为和用户的期望值不一样,一定是 Bug 吗? 1.2.4 节软件工程的目标中有这…
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 2021年软工-个人阅读作业2 我在这个课程的目标是 提升软件开发能力与团队意识 这个作业在哪个具体方面帮助我实现目标 通过阅读<构建之法>对软工课堂内容获得一个初步的了解,尝试持续集成与交付工具,进而为将来的团队项目做准备 1. 阅读提问 我平时就很喜欢阅读,但我很少提出问题.我会习惯性的给作者提出的与我旧有知识体系矛盾的观点添加定语,形象点描述的话,有个很知名的"亚洲最大的单体教学楼&qu…
This is a guest post by Slava Chernikoff, Principal Engineer at Binwell. Mobile DevOps falls under the umbrella of enterprise DevOps, since mobile applications are primarily a user interface for interacting with external IT systems. Mobile teams tend…
在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发.运行和部署过程.仅需一条Jenkins X命令,管理员可以创建一个Kubernetes集群,并安装用于管理应用程序.创建流水线并部署一个应用程序到不同的环境中的工具. Jenkin X还是…
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”). 具体而言,CI/CD 在整个应用生命周期内(从集成和测试阶段,到交付和部署)引入了持续自动化和持续监控.这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持. CI 和 CD 之间(以及不同 CD 之间)有什么区别? 缩略词 CI…
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费.函数计算更多信息参考. Funcraft:Funcraft 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算.API 网关.日志服务等资源.它通过一个资源配置文件(templa…
本周四晚上8:30,第二期k3s在线培训如约开播!本期课程将介绍k3s的核心架构,如高可用架构以及containerd.一起来进阶探索k3s吧! 报名及观看链接:http://z-mz.cn/PmwZ 本文来自Rancher Labs 在云原生领域中,Kubernetes累积了大量用例.它能够在云中部署应用容器.安排批处理job.处理工作负载以及执行逐步升级.Kubernetes使用高效的编排算法来处理这些操作,即便是大规模集群这些算法依旧表现良好. 此外,Kubernetes主要用例之一是运行…
本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云原生落地应用的经验心得,以下是莫红波<微服务架构下 CI/CD 如何落地>分享内容. 莫红波,又拍云平台开发部高级工程师,目前专注于容器及虚拟化技术在又拍云的私有云实践,主要负责又拍云容器云的设计和开发工作. 大家好,今天分享的主题是<微服务架构下 CI/CD 如何落地>,围绕以下两部…
CI / CD in Action Continuous Integration (CI) & Continuous Delivery (CD) https://github.com/marketplace/category/continuous-integration https://github.com/marketplace?category=learning CI / CD tool rank https://www.katalon.com/resources-center/blog/c…
说明 项目 内容 这个作业属于哪个课程 2021春季软件工程 (罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 初步获得软件工程师的能力 这个作业在哪个具体方面帮助我实现目标 了解软件开发的大概流程,了解CI/CD流程 我的疑惑 1.低层次的问题能依赖工具解决么? 关于这个问题首先是在书中第三章中关于软件工程师的成长上讨论,书中描述了一个软件工程师的面试时一直在解决低层次的问题 嗯,怎么开始一个C#的命令行程序呢? 定义数组是怎么弄的?是"int [] arr&quo…
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业2 我在这个课程的目标是 认识软工,拥抱软工,提升相关能力以便日后与其朝夕相伴 这个作业在哪个具体方面帮助我实现目标 于<构建之法>中理解软工,于实际应用中理解CI/CD 一.阅读提问 1.什么是Bug? 原文参见<构建之法>第1章第2节 什么是Bug呢?简单地说,软件的行为和用户的期望值不一样,就叫Bug.例如,某聊天软件启动时就崩溃了,用户期望这个聊天软件不能崩溃.例如,某聊…
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实现目标 泛读.提问.实践 Part1:阅读提问 Q1:单元测试与自动测评机相比有何优劣,能否在一定条件下被替代,或者说互补? 软件的很多错误都来源于程序员对模块功能的误解.疏忽或不了解模块的变化.如何能让自己负责的板块定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能够得到稳定的.量化的…
项目 内容 这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健) 这个作业的要求在哪里 2021年软工-热身阅读作业#2 我在这个课程的目标是 了解和掌握现代软件开发和项目管理技术,锻炼在大规模开发中的团队协作能力 这个作业在哪个具体方面帮助我实现目标 阅读教材,在自学.发问.回答这个步骤中了解软件工程中基本概念:初步学习CI/CD相关概念和运用 阅读提问 问题一:个人在团队中应该只是一个流水线上的机器吗? 教材P47有如下段落: 软件开发有很多个人的.感情驱动的因素--我总觉得灵感是属…
<构建之法> & Git+ & CI/CD 个人阅读作业#2 项目 内容 本作业所属课程 2020春季软件工程(罗杰 任健) 本作业要求 个人阅读作业#2 我的课程目标 具备一个软件工程师所需要的素质 本作业帮助 整体上软件工程,熟悉版本控制以及CI/CD工具 一.阅读提问 单元测试 (P26)单元测试的运行/通过/失败/不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性. 面对需要处理大量数据的模块,人为构造数据就最造成很大的重复性工作.比如上学期写编译器的时候,为了…
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 作业要求 我在这个课程的目标是 积累软件开发经验,提高工程能力 这个作业在哪个具体方面帮助我实现目标 通读课本,了解基本教学方向:初试CI/CD,为以后的项目做准备 一.阅读提问 对于书中4.4代码复审部分提到的 复审者有权提出很多看似吹毛求疵的问题,复审者不必亲自调查每一件事,开发者有义务给出详尽的回答. 我不反对复审者需要随时向开发者提问关于代码实现方面的问题,毕竟这可以大大节约复审者的时间,方便他更…
CI/CD 流水线是 DevOps 团队软件交付过程的基本组成部分.该流水线利用自动化和持续监控来实现软件的无缝交付.通过持续自动化,确保 CI/CD 流水线每一步的安全性非常重要.在流水线的各个阶段,通常需要访问凭据等敏感信息.保护这些信息对于保持强大的安全态势至关重要.本文将带你了解如何在 Jenkins CI/CD 流水线中保护密钥(Secrets). 转自 SEAL安全 在 CI/CD 流水线中使用 Secrets 如前所述,CI/CD 流水线通常需要访问敏感信息,如密码和 API 密钥…
Eolink 前端负责人黎芷君进行了<工程化- CI / CD>的主题演讲,围绕 CI/CD 管道安全的实践,分享自己在搭建 CI/CD 管道过程中所总结的重要经验,与开发者深入讨论 "前后端" 那些事儿. 随着互联网越来越受重视,前端开发不再是简单的实现一个界面,使用 Javascript 让页面有一定的交互特效. 在同一个时期的迭代里,我们可能需要同时开发浏览器应用.桌面端,甚至是 App.小程序等等.导致了我们迫切的需要考虑一种新的方式,优化我们前端的开发工作.而 C…