大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本节将介绍基于ASP.NET Core的整洁架构的设计理念,同时基于理论落地的代码模型,包括文件夹.文件.项目的组织形式以及项目的依赖关系,为企业级可扩展的架构奠定基础. 本节学习主题包括: 整洁架构介绍 核心层 基础设施层 表示层 测试管理 构建整洁架构解决方案 3.1 整洁架构介绍 很多公司系统多样,每个系统的分层结构各不相同,这给开发和未来的运维带来了巨大的成本,分层架构看…
前文已经实现CI部分,本文继续以Asp.Net Core实现CD部分. 创建gogs仓库 首先在gogs创建一个空项目drone-ci-demo,本地新建一个asp.net core项目,并且在与.csproj同级目录中创建Dockerfile,Dockerfile内容如下: FROM microsoft/dotnet:2.2-aspnetcore-runtime WORKDIR /app COPY . . EXPOSE ENTRYPOINT ["dotnet","drone…
从最基础镜像到业务容器 构建 [为gitlab项目部署做铺垫] 业务镜像设计规划 目录结构 # pwd /data/k8s/app/myapp # tree . . ├── dockerfile │   ├── pub-images │   │   ├── jdk-1.8.162 │   │   │   ├── build-command.sh │   │   │   ├── Dockerfile │   │   │   ├── jdk-8u162-linux-x64.tar.gz │   │ …
Gogs 是由 Go 语言编写的 Git 服务器,由中国人主导开发的一款开源项目,搭建方便并且拥有完善的中文文档,配合 Drone 可以实现持续集成/持续部署.本文介绍如何通过 Docker 搭建 Gogs+Drone 环境. 环境 MacOS Docker && docker-compose 部署 1. 创建目录(不是必须的,可以放在任何目录里面) mkdir cicd cd cicd mkdir gogs drone # 存放相关数据 2. 编写 docker-compose.yaml…
本文通过docker-compose方式安装运行drone,先将drone的server和agent镜像拉取到本地,这样docker-compose脚本执行速度会快一点.当然,不是必须先拉取drone镜像,完全可以直接用docker-compose执行编写好的脚本. 拉取drone镜像 sudo docker pull drone/drone:1.0.0-rc.5 sudo docker pull drone/agent:1.0.0-rc.5 安装docker-compose,已安装的话可跳过.…
注:这部分的学习还是要靠自己多点点 多尝试尝试 这部分19年3月份我是玩的很溜的,一年没用,基本忘光光了. 学习要温故而知新! 流程拓扑图 前提准备 部署应用服务 部署kubernetes 集群:https://www.cnblogs.com/zisefeizhu/p/12505117.html 部署ceph集群:https://www.cnblogs.com/zisefeizhu/p/12512377.html 部署harbor:https://www.cnblogs.com/zisefeiz…
综述 首先,本篇文章所介绍的内容,已经有完整的实现,可以参考这里. 在微服务.DevOps和云平台流行的当下,使用一个高效的持续集成工具也是一个非常重要的事情.虽然市面上目前已经存在了比较成熟的自动化构建工具,比如jekines,还有一些商业公司推出的自动化构建工具,但他们都不能够很好的和云环境相结合.那么究竟该如何实现一个简单.快速的基于云环境的自动化构建系统呢?我们首先以一个Springboot应用为例来介绍一下整体的发布流程,然后再来看看具体如何实现.不发的步骤大体如下: 1.首先从代码仓…
前景提要 jenkins与gitlab结合,实现代码自动拉取:https://www.cnblogs.com/zisefeizhu/p/12548662.html jenkins与kubernetes结合,实现jenkins-slave自动部署和销毁:https://www.cnblogs.com/zisefeizhu/p/12556013.html 从0到1,构建一个tomcat pod:https://www.cnblogs.com/zisefeizhu/p/12563272.html 集群…
一张网图 因为我们使用了Docker in Docker技术,就是把jenkins部署在k8s里.jenkins master会动态创建slave pod,使用slave pod运行代码克隆,项目构建,镜像构建等指令操作.构成完成以后删除这个slave pod.减轻jenkins-master的负载,可以极大地提高资源利用率. 配置连接kubernetes 我们已经安装了Kubernetes插件,我们直接在jenkins中点击 manage jenkins -- > configure syst…
一.介绍 jenkins的Master-slave分布式架构主要是为了解决jenkins单点构建任务多.负载较高.性能不足的场景. Master/Slave相当于Server和agent的概念.Master提供web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行构建.一个master(jenkins服务所在机器)可以关联多个slave用来为不同的job或相同的job的不同配置来服务. 二.安装 前提:slave所在服务器必须有java环境 jen…