SpringCloud config分布式配置 访问远程仓库gitee

 

 

 

 服务端远程连接gitee上的配置文件

1.导包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.example</groupId>
        <artifactId>springcloud</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>com.lian</groupId>
    <artifactId>springcloud-config-server-3344</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <!-- http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
        <!-- http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>

    </dependencies>

</project>

 

2.配置文件

server:
  port: 3344
spring:
  application:
    name: springcloud-config-server
    #连接远程仓库
  cloud:
    config:
      server:
        git:
          uri: http://gitee.com/joyiyii/springcloud-config.git   #服务端连接远程gitee仓库

 

3.启动测试访问“ http://localhost:3344/master/application-dev.yaml"

注意要确保我们的gitee仓库有这个文件才能访问到

 

注意:所访问的gitee的仓库必须是公开的仓库

 

 客户端连接上服务端访问远程仓库

再看一遍这个图,客户端访问服务端

 

 

 

练习:我们需要通过在客户端通过服务端这个中介连接上远程仓库

1.导入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.example</groupId>
        <artifactId>springcloud</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>com.lian</groupId>
    <artifactId>springcloud-config-client-3355</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <!-- http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
        <!-- http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-config-server -->
<!--   客户端用的starter-config-->
        <!-- http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>

    </dependencies>

</project>

 

2.配置文件

bootstrap.yaml是系统级别配置,在这里我们连接到我们的服务端端口

 

 

application.yaml是用户级别的配置,用户在前端页面访问远程仓库的入口

 

 

3.controller处理前端请求

package com.lian.springcloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConfigClientController {
    @Value("${spring.application.name}")
    private String applicationName;
    @Value("${eureka.client.service-url.defaultZone}")
    private String eurekaServer;
    @Value("${server.port}")
    private String port;
    @RequestMapping("/config")
    public  String getConfig(){
        return "applicationName:"+applicationName+
                "eurekaServer"+eurekaServer+
                "port"+port;
    }
}

4.主启动类

package com.lian.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConfigClient3355 {
    public static void main(String[] args) {
        SpringApplication.run(ConfigClient3355.class,args);
    }
}

5.测试访问启动eureka7001=>config-server-3344=>config-client-3355,访问”http://localhost:8201/config“,注意端口是8201,访问成功说明连接上了远程

 

注意确保gitee上的代码要没有错误,不然代码访问不到

本文转载于网络 如有侵权请联系删除

相关文章

  • MySQL中常见的内些...啥

    group_concat(str)将获取到的内容合并成一行输出concat_ws(str1,str2...)合并输出查询的字段table_name具体的数据表column_name字段名information_schema自5.7及后的MySQL版本,都有了这个库,所有的表都会记录在这个数据库下information_schema.tables所有的数据表information_schema.columns所有的数据表中的字段table_schema数据库的名称where筛选指定内容orderby判断有多少字段database()查看当前使用什么数据库version()查看当前使用什么版本的MySQL@@datadir查看当前MySQL的路径慢慢更新中...注:部分图片源自于网络,如有侵权,请联系删除!!!谢谢

  • 统计学学术速递[9.8]

    Update!H5支持摘要折叠,体验更佳!点击阅读原文访问arxivdaily.com,涵盖CS|物理|数学|经济|统计|金融|生物|电气领域,更有搜索、收藏等功能!stat统计学,共计28篇【1】Estimatingeffectswithinnonlinearautoregressivemodels:acasestudyontheimpactofchildaccesspreventionlawsonfirearmmortality 标题:估计非线性自回归模型的效应:儿童接触防护法对枪支死亡率影响的案例研究 链接:https://arxiv.org/abs/2109.03225 作者:MatthewCefalu,TerrySchell,BethAnnGriffin,RosannaSmart,AndrewMorral 摘要:自回归模型广泛用于时间序列数据的分析,但在估计干预措施的效果时,它们仍然没有得到充分利用。这在一定程度上是由于任何利益干预的滞后结果的内生性,这造成了解释模型系数的困难。这些问题只会在研究犯罪、死亡率或疾病时常见的非线性或非加性模型中恶化。在本文中,我们探讨了在估计干

  • 了解焦距与视场

    固定焦距镜头固定焦距镜头,也称为传统或近心镜头,是一款具有固定视场角(AFOV)的镜头。尽管视角保持不变,但通过针对不同工作距离调整镜头焦距,仍可获得不同大小的视场(FOV)。AFOV通常被指定为搭配镜头使用的传感器的水平尺寸(宽度)相关的全角(以度为单位)。注意:不应将固定焦距镜头与定焦镜头相混淆。固定焦距镜头能够针对不同距离调节镜头焦距;而定焦镜头则设计用于单一、特定的工作距离。定焦镜头的示例包括多款远心镜头和显微镜物镜。镜头焦距可定义其视场角。对于给定的传感器尺寸,焦距越短,镜头的视场角越宽。此外,镜头的焦距越短,获得与焦距较长的镜头相同的视场所需的距离越短。对于简单、薄凸的镜头,焦距为镜头后面到置于镜头前无限远的物体所形成的影像平面之间的距离。从此定义中可以看出,镜头的视场角与焦距有关(方程式1),其中,f是焦距(以毫米为单位),h是传感器的水平尺寸(以毫米为单位)(图1)。(1)AFOV[°]=2×tan−1(h2f)AFOV[°]=2×tan−1⁡(h2f)图1:对于给定的传感器尺寸h,较短的焦距会产生较宽的视场角。但是,焦距一般从镜头的后主平面(很少位于成像镜头的后实体面

  • 高通AI研究院|高效网络设计|结构化卷积分解

    标题&作者团队paper:https://arxiv.org/abs/2008.02454【Happy导语】本文是高通AI研究院提出了的一种高效网络结构设计新思路。该文的思路非常巧妙,它与ACNet具有“异曲同工之妙”,本质上的思路非常相似,但出发点并不相同。全文通篇读下来的第一感觉就是:知道是什么意思,但是尚未想通怎么去做。期待作者能开源该文的code。初步感觉这是一个非常不错的网络架构加速的方案。Abstract 作者通过对CNN中的基础模块中的结构冗余进行探索,提出了一种高效网络设计方案。作者首先引入了一种广义的复合核结构,它有助于进行更快的卷积操作(通过引入更高效的sum-pooling)。基于此,作者提出了StructuredConvolution,并证实将卷积分解为sum-pooling+更小尺寸卷积有助减小计算复杂度与参数量,作者同时还证明了如何将其应用到2D和3D卷积核以及全连接层。更进一步,作者还提出一种结构正则化损害用于促进网络的具有上述性质架构,在完成训练后,网络在几乎不造成性能损失下进行上述分解。 作者将上述形式卷积分解引入到不同网络架构(包含Mobil

  • Qt官方示例-屏幕截图

    该示例显示了如何对桌面进行屏幕截图。屏幕截图实现voidScreenshot::shootScreen() { /*获取主屏幕*/ QScreen*screen=QGuiApplication::primaryScreen(); if(constQWindow*window=windowHandle()) screen=window->screen(); ... if(delaySpinBox->value()!=0) QApplication::beep();/*让电脑哔一声*/ /*获取屏幕内容(QPixmap)*/ originalPixmap=screen->grabWindow(0); ... }复制保存截图if(!originalPixmap.save(fileName)){ QMessageBox::warning(this,tr("SaveError"),tr("Theimagecouldnotbesavedto\"%1\".") .arg(QDir::toNativeSeparators

  • ESA2GJK1DH1K升级篇: STM32远程乒乓升级

    前言  这一节实现的功能是使用MQTT通信控制模块去升级  这一节还是着重讲解一下如何移植升级程序文件到自己的项目  我做的单片机升级封装文件的目的是希望大家直接移植到自己的项目使用!  关于实用性:  现在的封装适应所有的升级操作,无论用的啥东西来控制的啥单片机升级,无论用的啥方式升级都可以使用  如果大家不希望每用一个芯片实现升级就需要费劲脑子写一套程序,你就吃透我的升级方案!  关于稳定性:  所有的方案,代码都是我一点一点敲出来的,该方案也在很多人的项目上跑着,大家可以放心移植.准备一个已经实现了TCP的工程,拷贝升级处理文件  1.准备的工程,该工程程序可以控制Wi-Fi模块发送http请求  2.把BootLoader需要用到的文件拷贝到自己的工程  拷贝到自己的项目里面整理下工程  1.自行添加到工程,还有设置头文件位置  2.注:     可能自己的项目中已经有了上面的一些文件,建议大家把自己以前使用的替换掉!!    注意:为使得升级稳定可靠  stmflash文件 必须使用我提供的!!在自己工程的定时器里面添加以下信息if(IAPStructValue.PutDat

  • Unlink漏洞简单分析

    0x1,堆溢出漏洞;0x2,闲聊:Unlink的难度不小,现在也只能勉强理解;关于unlink的漏洞简单说一下1,第一个判断if(chunksize(p)!=prev_size(next_chunk(p)))复制此判断所代表的含义为检查将从链表中卸下的chunk其size是否被恶意的修改。记录当前size的地方有两处一个是为当前chunk的size字段和下一个chunk(物理地址上相邻的高地址的chunk)的prev_size字段如果这两个字段的值不等,则unlink会抛出异常。第2个判断FD=P->fd即当前空闲chunk所指向的下一个空闲chunk BK=P->bk即当前空闲chunk所指向的上一个chunk FD->bk=BK<=>P->fd->bk=P->bk BK->fd=FD<=>P->bk->fd=P->fd 复制光看这些指针所指向的内容可能有些迷糊实际上就是将当前空闲chunk相连的前后chunk彼此相连即达到了解链的目的,明白了这一点再来看第二个if的安全检查机制if(__bui

  • 魔灵传说

    一、生而神灵 虽然奎特尔已经有不少原住民的魔灵,但为了世界的和平,创世之主还需要创造新的魔灵才能在这个残酷的世界中存活下来。1.可娜丝创建魔灵需要念诵奎特尔星上的创世神咒:色色点可娜丝(cc.Class)cc.Class({})这是一句富含生命与哲学的咒语,她可以创造出奎特尔星球上的最基本的生命单元体。你可能会问可娜丝是个何方神圣?我只能告诉你,她通常还被创世之主们称之为:类。在所有的面向对象的星球或星系上都有可娜丝(Class)女神,只不过奎特尔上的可娜丝更美。2.特别靠谱还特别萌这里只念诵色色点可娜丝还不够,她是奎特尔上的最为基础的生命单元,或者说更像是一颗卵细胞,还需要注入一颗具有魔灵DNA的精子:色色点靠谱萌特(cc.Componet)cc.Class({ extends:cc.Component });复制色色点靠谱萌特这句咒语比较太晦涩!我来解释一下,这句话要这样理解:无厘头断句:色色点—靠谱—萌—特 精辟的解读:请色色一点吧,那些特别靠谱,又特别萌的人没想到在奎特尔星上有这么洞悉人性、善解人意的真理,被我给发现了。世界上的确有很大一部分创世之主(程序员),他们很靠谱,特别

  • (4)打鸡儿教你Vue.js

    模板语法:<divid="app"> <p>{{message}}</p> </div>复制html 使用v-html指令用于输出html代码v-html <divid="app"> <divv-html="message"></div> </div> <script> newVue({ el:'#app', data:{ message:'<h1>dashu</h1>' } </script>复制<divid="app"> <labelfor="r1">修改颜色</label><inputtype="checkbox"v-model="use"id="r1"> <br><br&g

  • 再接再厉,WeTest云真机荣膺2015年10月腾讯微创新奖!

    腾讯WeTest云真机,凭借着全新的操作方式,极速流畅的体验感觉,获得了2015年10月的腾讯微创新奖。【什么是腾讯微创新奖】腾讯微创新奖诞生于2011年,用于鼓励员工日常工作中的创新。腾讯微创新奖每个月对公司所有新发布创意进行评选并奖励优秀创意,评选结果由公司骨干员工及普通用户投票结果产生。【什么是WeTest云真机】手机游戏和应用开发者普遍都面临着这样一个问题:安卓设备品牌众多,操作系统版本各异,分辨率不统一。游戏和应用上线前需要使用大量不同型号手机进行测试,如果直接购买手机的话成本非常高,而且众多手机管理起来很不方便。WeTest云真机的出现就为这个问题提供了一个很好的解决办法。云真机使用WeTest技术团队最新研究的“云屏”技术,通过对云端手机、服务器和网页前端等一系列的优化,终于将网页控制云端手机的操作体验优化到了接近操作真机的水平。并且,针对手游测试,WeTest云真机创新性地推出手机控制器,用本地手机上的WeTest助手扫一扫二维码,就可以用本地手机控制云端手机了,支持多点触控,操作手游更加方便。用户使用手机控制器时可以自定义操作按钮,像全民超神这种游戏,用户可以在控制器

  • 分布式基础_为什么要用分布式架构,又为什么要用微服务?

    上次面试时经常被问到一个问题,你为什么要用dubbo?由于经验尚浅,实在是没说得明明白白。我用了dubbo后,我就可以这样调接口,巴拉巴拉,说到底还是争不过面试官问:那照你这么说,我不用分布式架构也可以完成啊,你只是说了用了分布式架构后业务处理的方法,并没有弄懂里面的原因。结果自然是。。。。。。。给了offer,没去简要的分析一下单体架构的优缺点,再说说用了分布式架构后会遇到的问题吧。单体架构: ——优点:1、易于开发:开发的方式简单,方便运行也容易调试。2、易于测试。3、易于部署。 优点显而易见~ ——缺点:1、项目过于臃肿,维护成本大,出现bug难定位。2、资源无法隔离:共享一个数据库,或者一块内存。如果一个功能模块突然访问量过大,可能影响整个系统的性能。3、无法灵活扩展:单体系统也可以集群部署,但是不够灵活,我明明只是订单系统遇到了瓶颈,只需要将订单模块水平扩展就行,但现在要将整个系统水平扩展。不灵活!4、交付周期长:所有功能得一起上线,一起构建,一起部署。任何一个环节出错,都可能影响交付。那分布式的优点自然就和单体架构就对立了~再谈谈分布式架构的缺点:1、性能,分布式系统是跨进

  • Java中的自定义注解Annotation

    与注释不同,注解可以被其他程序读取。比如通过反射(Class)读取注解。 内置注解: 1、@Override-检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。 2、@Deprecated-标记过时方法。如果使用该方法,会报编译警告。 3、@SuppressWarnings-指示编译器去忽略注解中声明的警告。 @SuppressWarnings参数: 元注解: 用来注解其它注解的注解。 1、@Target:使用的位置。包括: TYPE意味着,它能标注"类、接口(包括注释类型)或枚举声明"。 FIELD意味着,它能标注"属性"。 METHOD意味着,它能标注"方法"。 PARAMETER意味着,它能标注"参数"。 CONSTRUCTOR意味着,它能标注"构造方法"。 LOCAL_VARIABLE意味着,它能标注"局部变量"。 2、@Retention:生命周期。包括:     source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略。     class:注解被保留到class文件,但jvm加载cl

  • C++模板元编程----快速排序

    目录 目录 简介 实现 数据结构定义 在数组前添加一个元素 判断 分堆 合并 快速排序的实现 总结 简介 上一篇使用C++模板模板实现了一个选择排序。这一次,更进一步的,实现了一个快速排序算法。关于快速排序的可以看这一篇文章快速排序 实现 和上一次一样,我把快速排序算法分为几个小的步骤,分别实现,然后联合在一起,实现算法。 数据结构定义 和之前类似,不过多定义了一个head_type,同时对一些类型进行了改名。 //数据结构定义 template<int...> structmvector; template<int...data,int_head> structmvector<_head,data...>{ constexprstaticinthead=_head; typedefmvector<_head>head_type; typedefmvector<data...>tail_type; constexprstaticstd::array<int,1+sizeof...(data)>value

  • 自我介绍

    源自JavaGuide作者: 模板 面试官,您好!我叫某某某。⼤学时间我主要利⽤课外时间学习Java相关的知识。在校期间参与过⼀个某某系统的开发,主要负责数据库设计和后端系统开发.,期间解决了什么问题,巴拉巴拉。另外,我⾃⼰在学习过程中也参照⽹上的教程写过⼀个电商系统的⽹站,写这个电商⽹站主要是为了能让⾃⼰接触到分布式系统的开发。在学习之余,我⽐᫾喜欢通过博客整理分享⾃⼰所学知识。我现在已经是某社区的认证作者,写过⼀系列关于线程池使⽤以及源码分析的⽂章深受好评。另外,我获得过省级编程⽐赛⼆等奖,我将这个获奖项⽬开源到Github还收获了2k的Star呢? 样例 面试官,您好!我叫某某某。大学时间我主要利用课外时间学习 Java相关的知识。在校期间参与过蓝桥杯大赛获得省三等奖,同时还参加了软考中级的软件设计师考试并拿到了资格证书。另外,我自己在学习过程中也参照网上的教程写过一个电商系统的网站,写这个电商网站主要是为了能让自己接触到电商系统相关的技术、业务场景以及分布式系统的开发。在学习之余,我比较喜欢通过博客整理分享自己所学知识。

  • 国企生存感悟(必读篇)

              毕业一年,入职一年,竟然没心没肺的活了一年,真是少不更事!自己都嫌弃自己幼稚无知!所幸现在明白的还不太晚。我真是后知后觉的那种人,不摔坑就不知道前面有坑,不撞墙就不知道要回头!不被教训就不知道吸取别人的教训!希望后面毕业的孩子们,能够吸取我的教训,少走弯路。 很多道理,其实我们都知道,只是我们不以为然,或者不够重视,被打脸之后才醍醐灌顶!所谓大道至简就如此。   1.管住嘴巴,切记祸从口出! 最近公司刚解聘了两个人,一个是因为太过耿直,看穿又说穿。最近的中层职位竞聘存在不公平,存在内幕都是在正常不过的事情,明眼人最后都能看穿的安排。大家虽是不能认同,但是也是表面苟同。谁不知道那是那个利益小团体的杰作呢。你认为他不公平,但是别人的表面流程走得没有任何问题,即使是走过场,那也是看起来公平的过场。大家都是看穿不说穿的。毕竟每天都要一起工作,说穿未免太尴尬! 做好自己的本分就好了,不要多嘴多舌,除非你有能力改变现状,不然多说不仅无益,还会招来祸事。被解聘的这为姑娘就是太耿直了

  • 搞懂 XML 解析,徒手造 WEB 框架

    恕我斗胆直言,对开源的WEB框架了解多少,有没有尝试写过框架呢?XML的解析方式有哪些?能答出来吗?! 心中没有答案也没关系,因为通过今天的分享,能让你轻松get如下几点,绝对收获满满。 a)XML解析的方式; b)digester的用法; c) JavaWEB框架的实现思路; d)从0到1徒手实现一个迷你WEB框架。 1. XML解析方式 在Java项目研发过程中,不论项目大小,几乎都能见到XML配置文件的踪影。使用XML可以进行项目配置;也可以作为对接三方API时数据封装、报文传输转换,等等很多使用场景。 而XML文件该如何解析?则是一个老生常谈的问题,也是研发中选型经常面临的一个问题。通过思维导图梳理,把问题都扼杀在摇篮里。       如导图所示,DOM和SAX是XML常见的两大核心解析方式,两者的主要区别在于它们解析XML文件的方式不同。使用DOM解析,XML文件以DOM树形结构加载入内存,而SAX采用的是事件模型。 基于这两大解析方式,衍生了一系列的API,也就是造出了一大批轮子,到底用哪款轮子呢?下面就叨咕叨咕。 &n

  • 代码审计中的文件上传漏洞

    0x00背景 文件上传漏洞是一种威胁极大的漏洞,如果存在该漏洞,黑客一般会上传一个可执行文件至服务器,如木马,通过这个文件来获取服务器的一定权限。如果对这种攻击方式防范不严,我们会受到极大的损失。本文以代码审计的形式研究文件上传漏洞的原理、挖掘形式、防御方案及缺陷。 0x01文件上传漏洞的产生原理 文件上传漏洞是由程序解析了黑客上传的恶意程序产生的,我们以DVWA的low级别源码为例学习一下文件上传漏洞的产生原理: 1<?php 2 3if(isset($_POST['Upload'])){ 4//Wherearewegoingtobewritingto? 5$target_path=DVWA_WEB_PAGE_TO_ROOT."hackable/uploads/"; 6$target_path.=basename($_FILES['uploaded']['name']); 7 8//Canwemovethefiletotheuploadfolder? 9if(!move_uploaded_file($_FILES['uploaded']['tmp_name'],$target

  • 初识cesium

    一、cesium介绍 博客介绍cesium github介绍 二、如何上手cesium 快速入门-源码获取 官网下载 github下载 安装nodejs 在对应源码下npminstall下载依赖 npmrunrelease把cesium各个模块源码打包压缩生成同一的cesium.js npmstart开启cesium的测试。 三、快速入门-实战 在上一步操作中在github上下载了源码,然后执行npmrunrelease执行之后生产一个叫Build的文件夹,在里面找到Cesium的一个文件夹,将它复制到新的项目中。 新建一个index.html文件内容如下: <!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <metahttp-equiv="X-UA-Compatible"content="ie=edge"&

  • [系统集成] CI持续集成项目简介

    一、问题的产生 公司的多个部门围绕着产品开发、测试、发布、维护,设置有不同的岗位和系统,这些岗位和系统缺少有效的整合,没有实现自动化,效率不是很高,因此就有了CI(持续集成)的项目需求。   二、解决方案 项目采用开源软件jenkins作为CI系统,将已有的SVN,构建,部署,测试等系统作为从节点加入,基于这些节点创建不同的job,不同的job通过CI的触发器连接起来,不同的人负责不同的job,前面的job完成后,CI系统自动触发下一个job,这样就实现了岗位和系统的整合,实现了自动化。   三、方案要点 关于jenkins的安装、配置,网上已经有很多专业的文章了,在我们的项目中,需要安装一个比较关键的插件:ParameterizedTrigger,用于带参数的触发下一个job。  

  • wireshark笔记(1)

    wiireshark文件恢复 监听文件上传 由于文件上传属于http先从搜索框过滤http   上传文件一般始于POST请求,查看包细节之后,会发现他的文件由于比较大,TCP会进行切片 由此判定是否为文件      使用winhex转换为16进制,仔细观察有0D0A0D0A  换行符转换为16进制就是0D0A0D0A  把这段字符上面和下面的全部删除 两个0D0A0D0A之间的是文件全进制信息,单独出来打开之后则是一个完整的图片     可以直接搜索相关规则的包             保存被单独抓出来的包                   ARP缓存, 假如你刚加入这个网络,本机会以广播方式传播ARP请求, 缓存区查看是否有有的话直接连接,没有的话接受请求,返回包  

  • STM32-F429ZIT6-关于驱动安装

        第一步:下载驱动   1.个人百度云链接:http://pan.baidu.com/s/1dE8vxy5密码:yow0   2.网站下载:这个还是直接百度吧。    第二步:驱动安装   注意:安装之前要先关闭安全监控软件(个人习惯)   1.Win10>>设备管理器      2.其他设备 我们注意到这个!的标志,表示这是未识别设备    3.双击>>更新驱动>>浏览计算机。。。   4.浏览>>找到驱动的下载位置>>下一步         5.安装完成        6.最后要说的是,所有的驱动安装和更新基本上都是按照这个步骤来。     

相关推荐

推荐阅读