目录 为什么需要Devops 如何实践Devops 版本控制工具(Git) 学习使用 配置环境 源代码仓库 一台配置好环境的云服务器 SSH远程登录 在服务器上安装docker docker技术准备工作 安装docker 使用docker安装mysql 选择合适的CI/CD平台 在本地代码仓库中配置好dockerfile 尝试使用docker在本地打包构建部署 使用Github Actions自动化打包构建 workfile详解 actions/checkout@v2 actions/setup…
前言 前不久使用了 Hexo 搭建独立博客,我是部署在我的腾讯云轻量应用服务器上的,每次都需要 hexo deploy 然后打包.上传.解压和刷新 CDN,非常麻烦.我的服务器配置也不高 2C2G 无法安装 Jenkins,所以采用了比较简单和免费的 Github Actions 来进行打包.上传.然后我自己写了一个 Agent 来做解压和刷新 CDN 的工作,整套流程完全自动化. 如果 Hexo 博客是放在 OSS 存储里的,比如腾讯云 COS,可以不使用 Agent,直接通过 Github…
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求和目标 在这个系列的最后一节中,我们将使用GitHub Actions将TodoList应用部署到Azure Container Instance上. 实现 为了确保部署的应用能够正确运行,我们需要做以下几件事: 创建Azure SQL Server实例 选择最便宜的数据库规格就可以了,新建一个ResourceGroup名为todolist,并新建数据库实例,获得连接字符串: 创建Azure Container Regist…
前言 大家在工作中想必都是通过自动化部署来进行前端项目的部署的,也就是我们在开发完某个需求时,我们只需要将代码推送到某个分支,然后就能自动完成部署,我们一般不用关心项目是如何build以及如何deploy的,这就极大得提高了我们的开发效率. 在没有自动化部署的情况下,前端项目的部署流程一般是这样的:(手动部署) 开发完成后本地进行build 将build后的文件交给运维(前端人员有权限的可省略) 将打包文件上传到服务器的指定目录 前端项目每次上线都得走一遍这个流程,对于程序员来讲这怎么能忍,宁愿…
每日签到集合 基于[腾讯云函数]/[GitHub Actions]/[Docker]的每日签到脚本 支持多账号使用 特别声明: 本仓库发布的脚本及其中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. 本项目内所有资源文件,禁止任何公众号.自媒体进行任何形式的转载.发布. 本人对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害. 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家…
在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要.目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部署.交付(CD).在此,我们来以一个案例初步了解 CI 流程.那么什么是 CI 呢?简单来讲,CI 就是将传统的代码合并.构建.部署.测试都集成在一起,不断地执行这个过程,并对结果进行反馈. CI 流程设计图: 工作流程: 1. 开发人员提交代码到Git版本仓库:2. Jenkins人工/定时触发项…
之前已经用Git实现了自己博客的提交自动部署,并自动提交到GitHub和coding以备不时之需.平时项目代码都托管在Coding或者GitHub上,也已经用上了coding提供的webhook功能,偶尔个别自己玩玩的项目提交了代码之后再SSH到服务器上去 git pull 一次,刚好一起做成了自动部署,方法记录起来备忘. 实现步骤 在服务器上 以Nginx环境为例,Apache请看OverTrue的教程 生成公钥 公钥有两个:1. git用户公钥,2. 部署公钥: git用户公钥 123 ss…
本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 DevOps,也见证了 Docker 的技术体系的快速发展.本文主要是结合在公司搭建的微服务架构的实践过程,做一个简单的总结.希望给在创业初期探索如何布局服务架构体系的 DevOps,或者想初步了解企业级架构的同学们一些参考. Microservice 和 Docker 对于创业公司的技术布局,很多声…
前言 最近公司内部项目的发布流程接入了 GitHub Actions,整个体验过程还是比较美好的:本文主要目的是对于没有还接触过 GitHub Actions的新手,能够利用它快速构建自动测试及打包推送 Docker 镜像等自动化流程. 创建项目 本文主要以 Go 语言为例,当然其他语言也是类似的,与语言本身关系不大. 这里我们首先在 GitHub 上创建一个项目,编写了几段简单的代码 main.go: var version = "0.0.1" func GetVersion() s…
自从 GitHub 宣布 GitHub Actions 在平台上对所有开发人员和存储库可用以来,GitHub Actions 越来越受欢迎.很多第三方平台在生态系统中有速度等限制,将进一步推动开发人员将他们的软件自动化迁移到 GitHub Actions. 在本文中,我想向你展示我如何使用 GitHub Actions 发布我在开源项目中维护的 npm 包.如果你遵循由 GitHub 拉取请求工作流程组成的 GitHub 流程,那么这将进一步统一团队和社区贡献者的工作流程的和提升他们的体验. G…
在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能.以下为Kubernetes的架构设计图: 1. Pods在Kubernetes系统中,调度的最小颗粒不是单纯的容器,而是抽象成一个Pod,Pod是一个被创建.销毁.调度.管理的最小的部署单元.比如一个或一组容器.2. Replication ControllersReplication Controller是Kubernetes系统中最有用的功能,实现复制多个Pod副本,往往一个应用需要多个Pod来支撑,并且可以保证…
过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐渐从 "Docker 是什么"转移到"实践 Docker"与"监控 Docker"上. 本文转自刘斌博文 「如何选择 Docker 监控方案 」 ,文中刘斌从技术的角度深入解释了 Docker 监控的数据采集原理,介绍了现有开源的监控方案,以及能够对…
  前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.本文不对三个概念做过多的介绍,有兴趣可以读读这篇文章:The Product Managers’ Guide t…
  前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.本文不对三个概念做过多的介绍,有兴趣可以读读这篇文章:The Product Managers’ Guide t…
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配置 Jenkins 创建 GitHub 与 Jenkins 之间的 Webhook 集成 通过 GitHub 提交创建并触发 Jenkins 生成作业 创建应用的 Docker 映像 验证 GitHub 提交是否生成新的 Docker 映像并更新正在运行的应用 Note 在 Azure 中国区使用…
从红帽.GitHub和Docker看开源商业模式的进阶 发表于2014-12-16 10:26| 7594次阅读| 来源http://stratechery.com/| 0 条评论| 作者Ben Thompson Docker红帽GitHub开源CoreOS 摘要:从技术角度来说,Docker无疑是可圈可点的,比如“write once run anywhere”,简化了CI/CD,比VM更高效等等.作者认为更令人眼前一亮的是Docker的商业模式,而这要从开源的商业模式说起. 从技术角度来说,…
1.Kubernetes介绍 1.1 简介 Kubernetes是什么?首先,它是一个全新的基于容器技术的分布式架构领先方案.其次,它是一个开放的开发平台.最后,它是一个完备的分布式系统支撑平台.Kubernetes是Google团队发起的开源项目,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩,主要实现语言为Go语言.Kubernetes特点是:•易学:轻量级,简单,容易理解•便携:支持公有云,私有云,混合云,以及多种云平台•可拓展:模块化,可插拔,支持钩子,可任意组合•自修…
目录 一.部署 环境工作流程介绍 部署harbor 一.部署 前提环境说明 192.168.111.3 该机器为git本地仓库,及git远程仓库(git用户创建),及Harbor镜像仓库 192.168.111.4 该机器为Jenkins 192.168.111.5 该机器发布docker Jenkins环境以及git仓库,以及docker已经准备好,三台机器都需要docker环境.第一台需要docker环境来运行Harbor,第二台Jenkins需要docker环境来制作镜像并上传到Harbo…
Hexo简介 Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Coding上,是搭建博客的首选框架.大家可以进入hexo官网进行详细查看,因为Hexo的创建者是台湾人,对中文的支持很友好,可以选择中文进行查看. Hexo搭建步骤 安装Git 安装Node.js 安装Hexo 编写github actions 推送到github 发布文章 我们的开发过程是在win环境下,本质和环境没关系,影响不大,首先我们要保证我们的电脑上安装了git…
内容转载自我的博客 目录 说明 1. 编写Android项目的CI配置文件 2. 编写Jekyll项目的CI配置文件 2.1 配置coding.net 2.2 配置github 2.3 自动部署到coding.net 说明 对于普通的github仓库,只需要在根目录创建.github/workflows/文件夹即可自动使用Actions功能,具体执行的操作可以创建一个配置文件(命名不限),如build_apk.yml Github Actions产品对公开仓库是完全免费的,对私人仓库每月有200…
概述 Github在被微软收购后,不忘初心,且更大力度的造福开发者们,推出了免费私有仓库等大更新.近期又开放了packages和actions两个大招,经笔者试用后感觉这两个功能配合起来简直无敌. GitHub Packages 是一个和每一个代码仓库关联的软件包仓库.通俗来说就是代码仓库中存放的是源码,软件包仓库中存放的是编译输出后的可以被各个语言生态的依赖管理工具直接依赖的lib.类似的我们熟知的有maven中央仓库和nmp仓库. GitHub Actions 是一个Github原生的持续集…
Github Actions 实践 Github Actions 是 Github 的持续集成服务,通过在 repo 发生特定的行为时执行指定的命令实现自动测试.自动部署等功能. 基本术语 workflow:一次持续集成运行的过程 job:一个workflow由一个或多个job构成 step:一个job由一个或多个step构成,分步完成一个任务 action:一个step可以依次执行一个或多个action workflow 文件 启用 Github Actions 需要在代码仓库中的 .gith…
思路浅析 使用 Terraform Code 部署 Azure 基础设施资源是特别受欢迎的,我曾经有写文章分享过利用 Azure DevOps 自动部署 Terraform Code 所描述的 Azure 基础设施资源.但是有些人对于Azure DevOps 可能比较陌生,再加上 Azure DevOps 的 Parallel jobs 付费作业.所以作为替代方案,今天给大家分享如何使用 GitHub Actions 部署 Terraform Code. 配置 Azure Service Pri…
象写程序一样写博客:搭建基于github的博客   前言 github 真是无所不能.其 Pages 功能 支持上传 html,并且在页面中显示.于是有好事者做了一个基于 github 的博客管理工具:octopress,基本原理是用 git 来管理你的文章,然后最终发布到 github 上成为一个独立博客站点.由于 github 支持 CNAME 域名指向,所以如果有独立域名的话,可以基于这些做出一个专业的博客站点出来. 本博客就是完全基于此搭建起来的,在使用了 2 个月之后,我将原系统根据中…
Docker 是一种新型的虚拟化技术,它的目标在于实现轻量级操作系统的虚拟化.相比传统的虚拟化方案,Docker 虚拟化技术有一些很明显的优势:启动容器的速度明显快于传统虚拟化技术,同时创建一台虚拟机占用的资源也要远远小于传统的虚拟技术.Swarm 是 Docker 集群化的技术,而 Swarm 集群化 Docker 离不开服务发现.Consul 能够解决 Swarm 的服务发现问题.本文将介绍 Swarm 如何使用 Consul 作为服务发现. Docker Swarm 服务发现 Docker…
本文探讨Docker多主机网络的性能. 在过去的博文里,我测试过 Docker的网络 . MySQL服务器团队 提供了他们自己的结果,和我的观察是一致的. 本文里一系列的测试,想更多关注使用多主机的Docker网络.因为当我们搭建高可用(HA)环境(比如,使用Percona XtraDB Cluster)时,就会期望实例运行在不同的主机上. 本文测试的另一个原因是Docker最近发布了1.12版本,支持Swarm Mode.Swarm Mode本身很有意思--在这个版本里,Docker决定在编排…
docker日志收集方案有太多,下面截图罗列docker官方给的日志收集方案(详细请转docker官方文档).很多方案都不适合我们下面的系列文章没有说. 经过以下5篇博客的叙述简单说下docker容器日志采集方案 docker容器日志收集方案(方案一 filebeat+本地日志收集) docker容器日志收集方案(方案二 filebeat+syslog本地日志收集) docker容器日志收集方案(方案三 filebeat+journald本地日志收集) docker容器日志收集方案(方案四,目前…
本文转自:https://www.cnblogs.com/52fhy/p/8413029.html Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境. 很常用的一个场景:换了电脑后,每次都需要重新安装PHP开发环境,浪费了很多时间.使用Docker,只需要预先编译一次,后续无需再次编译,就算从Windows换到了Mac.Linux,我们编译好的环境依然可以使用:…
个人github链接 https://www.github.com/liangjianming/test git学习心得总结​ git是一个快速,开源,分布式的版本控制系统. GitHub是一个基于web与git的托管项目服务,你可以这里托管你的代码.​ Git的工作流程 与远程仓库同步(pull,fetch) 修改文件 查看变更(show,status) 载入变更(add or –a) 提交载入的变更(commit) 重复 上传(push)​ 载入的概念(stage) 通过git add可能将…
GitHub账号设置: 这部分按书上来敲命令即可,当然首先要注册一个GitHub账号还有之前安装的GitHub API库(pip install github3.py),这里就只列一下命令吧: mkdir trojan cd trojan git init mkdir modules mkdir config mkdir data touch modules/.gitignore touch config/.gitignore touch data/.gitignore git add . gi…