.NET微服务架构CI/CD自动打包镜像
目录
- 准备工作
- 一、开启docker的tcp
- 二、Jenkins安装Docker插件
- 配置Docker
- 配置工作流
- 小结
准备工作
一、开启docker的tcp
我的服务器是linux,以端口2376为例,找到docker.service,在ExecStart下新增这段代码即可:
-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
效果图:
然后重载服务列表,重启docker,语句:
systemctl daemon-reload systemctl restart docker
二、Jenkins安装Docker插件
在插件管理搜索安装docker:
只需选择这一个,关联的Docker API、Docker Commons会自动下载。
配置Docker
打开系统管理→系统配置,翻到最下面,进入单独设置页面:
在页面新增docker:name随意,地址要注意tcp不是http,最后注意勾选enabled。页面有个测试按钮,填好信息点它,测试通过会打印docker和docker api的版本:
配置工作流
翻出我在上一篇文章创建的工作流,进入配置页,找到构建这一项,添加构建步骤:
在新窗口填写dockerfile的路径、打包以后的镜像名称,以及选择刚才配置好的docker cloud:
填好以后保存,节省时间,手动触发测试一下(通过git提交触发一样):
等待构建结束,在服务器中查看刚才自动构建的镜像:
自动打包,Get~
小结
如果看完这两篇文章并且跟着走一遍,应该已经实现了从Jenkins搭建、到集成Gitee+Docker、最终实现Git提交代码时自动触发构建动作并打包为镜像的功能。现在,距离正式使用还差一步:分发。我会在后面的文章介绍如何自动分发到单机、集群。
到此这篇关于.NET微服务架构CI/CD自动打包镜像的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
.NET微服务架构CI/CD自动构建Jenkins+Gitee
目录 CI/CD 准备工作 安装Jenkins 添加并配置Gitee 新建工作流 CI/CD 它的意思是 持续集成/持续部署,这也不是新概念.那些八股文就不写了,说话的方式简单点:如果成功搭建CI/CD环境,当你需要迭代线上程序时,只需通过git提交代码就可以,其他什么都不用做.是不是很爽?这样你就拥有了快速迭代的能力,微服务大环境下,这也是必要的. 准备工作 1.准备一个.NET6项目: 2.准备一个gitee仓库 3.准备一台服务器(非必要) 安装Jenkins 首先在docker中运行这段
-
.NET微服务架构CI/CD自动打包镜像
目录 准备工作 一.开启docker的tcp 二.Jenkins安装Docker插件 配置Docker 配置工作流 小结 准备工作 一.开启docker的tcp 我的服务器是linux,以端口2376为例,找到docker.service,在ExecStart下新增这段代码即可: -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock 效果图: 然后重载服务列表,重启docker,语句: systemctl daemon-reload syste
-
.NET微服务架构CI/CD镜像自动分发
如何通过Jenkins完成镜像分发?基本做法是:打包镜像→上传镜像到仓库→脚本分发.镜像仓库也有很多,比如docker hub.Harbor等,今天这一篇讲一下基于阿里云镜像仓库的操作. 首先,准备一个阿里云镜像仓库,个人版是免费的. 然后下载这个插件: Publish Over SSH 这个插件主要用来远程登录服务器并执行脚本. 插件安装完毕后,系统设置会多出这一项,戳图里这个按钮: 然后,把服务器的ip.账户.密码填进去: 配置好以后,最好点测试按钮试一下,如果没问题会输出“Success”
-
Springcloud微服务架构基础知识解析
一 前言 学习微服务要从基础的架构学起,首先你要有个微服务的概念才能学习对吧!!如果你都不知道啥是微服务,就一头扎进去学习,你自己也觉得自己也学不会对吧.本篇文章主要让大家快速了解基础的架构分格,以便于微服务入门. 二 单体架构 单体架构是传统架构,其发展了几十年,我们今天任然还在用单体架构开发,存在即合理:单体架构也就是通常的表现层跟UI界面交互,业务层写业务逻辑,数据DAO层访问数据库.其部署方式也很简单,直接将项目打包成war包放进web服务器(如tomcat,jetty)中运行: 其优点
-
微服务架构设计RocketMQ基础及环境整合
目录 概述&选型 单机安装配置 双机主从高可用搭建 启动多个NameServer 和 Broker 重要参数说明 可视化管理平台 SpringBoot整合RocketMQ 引入组件rocketmq-spring-boot-starter 依赖 修改application.yml,添加RocketMQ相关配置 编写消息生产者 MessageProduce 编写消息消费者 MessageConsumer 编写单元测试发送消息 测试 概述&选型 消息队列作为高并发系统的核心组件之一,能够帮助业务
-
Spring Cloud微服务架构的构建:分布式配置中心(加密解密功能)
前言 要会用,首先要了解.图懒得画,借鉴网上大牛的图吧,springcloud组建架构如图: 微服务架构的应用场景: 1.系统拆分,多个子系统 2.每个子系统可部署多个应用,应用之间负载均衡实现 3.需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现. 4.所有的客户端都通过同一个网关地址访问后台的服务,通过路由配置,网关来判断一个URL请求由哪个服务处理.请求转发到服务上的时候也使用负载均衡. 5.服务之间有时候也需要相互访问.例如有一个
-
详解Spring Cloud微服务架构下的WebSocket解决方案
WebSocket在现代浏览器中的应用已经算是比较普遍了,在某些业务场景下,要求必须能够在服务器端推送消息至客户端.在没有WebSocket的年代,我们使用过dwr,在那个时候dwr真实一个非常棒的方案.但是在WebSocket兴起之后,我们更愿意使用标准实现来解决问题. 首先交代一下,本篇文章不讲解WebSocket的配置,主要讲的是针对在微服务架构集群模式下解决方案的选择. 微服务架构大家应该都不陌生了,在微服务架构下,服务是分布式的,而且为了保证业务的可用性,每个服务都是以集群的形式存在.
-
SpringCloud微服务架构升级汇总
一.背景 1.1 应用系统的架构历史 1.2 什么是微服务? 起源:微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章"Microservices".文中内容提到:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值. 通信方式:每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API). 微服务的常规定义:微服务是一种架构风格,一
-
浅谈Redis在微服务架构中的几种应用场景
本文介绍在SpringCloud中使用Redis作为Pub/Sub异步通信.缓存或主数据库和配置服务器的三种场景应用. Redis可以广泛用于微服务架构.它可能是您应用程序以多种不同方式利用的少数流行软件解决方案之一.根据要求,它可以充当主数据库,缓存或消息代理.虽然它也是一个键/值存储,但我们可以将它用作微服务体系结构中的配置服务器或发现服务器.虽然它通常被定义为内存中的数据结构,但我们也可以在持久模式下运行它. 这里我将向您展示一些使用Redis与Spring Boot和Spring Clo
-
详解Java 微服务架构
一.传统的整体式架构 传统的整体式架构都是模块化的设计逻辑,如展示(Views).应用程序逻辑(Controller).业务逻辑(Service)和数据访问对象(Dao),程序在编写完成后被打包部署为一个具体的应用.如图所示: 系统的水平扩展 如果要对系统进行水平扩展,通常情况下,只需要增加服务器的数量,并将打包好的应用拷贝到不同的服务器,然后通过负载均衡器(Nginx)就可以轻松实现应用的水平扩展. 整体式架构的缺点 应用复杂度增加,更新.维护困难. 易造成系统资源浪费. 影响开发效率. 应用
随机推荐
- CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
- 从console.log说起(console.log详细介绍)
- hta编写的消费记录程序
- ES2015 正则表达式新增特性
- iOS 获取公历、农历日期的年月日的实例代码
- Oracle中serveroutput参数一次设置永久保存方法
- .net中的session与cookies区别及使用方法
- TinyMCE提交AjaxForm获取不到数据的解决方法
- Javascript随机标签云代码实例
- 在Windows8上的搭建Python和Django环境
- python 切片和range()用法说明
- Android使用GridView实现日历的简单功能
- jQuery控制cookie过期时间的方法
- EasyUI布局 高度自适应
- 全新2006高校BBS上的100条苦涩语录
- 详解Linux下随机生成密码的命令总结
- SqlServer中的日期与时间函数
- JQuery判断HTML元素是否存在的两种解决方法
- vsftpd的530 Login incorrect错误解决方法 vsftpd登录错误
- C# memcache 使用介绍