GitLab+Jenkins+Tomcat

GitLab+Jenkins+Tomcat

实验环境

主机 服务 备注
192.168.1.1 Git、GitLab、Maven 内存4G,可联网
192.168.1.4 Git、Jenkins、Maven 内存4G,可联网
192.168.1.6 Tomcat

实验目的

当在GitLab主机将准备好的项目代码解压,并上传到GitLab项目中,会触发Jenkins来对项目代码进行构建,完成后自动部署到Tomcat中,要求在每次将项目的war包传到Tomcat的目录中时,需要自动将之前的Tomcat数据备份,这里需要些脚本

GitLab+Jenkins+Nexus(Maven私服)

GitLab+Jenkins+Nexus(Maven私服)

实验环境

GItLab+Jenkins+Nexus

主机 服务 备注
192.168.1.1 Git、GitLab、Maven 内存4G,可联网
192.168.1.4 Git、Jenkins、Maven 内存4G,可联网
192.168.1.6 Nexus、Maven 内存3G,可联网

实验目的

当在GitLab上使用mvn生成Java项目代码后,通过Git上传到GitLab的项目仓库中,Jenkins会通过构建触发器,触发对GitLab项目进行打包,最后将jar包上传到Nexus

实验步骤

GitLab+Jenkins项目代码持续集成简单环境

GitLab+Jenkins构建可持续集成的简单环境

GitLab:192.168.1.1(已安装)

安装GitLab,请参考这里

Jenkins:192.168.1.4(已安装)

安装Jenkins,请参考这里

启动GitLab和Jenkins

192.168.1.1

gitlab-ctl start

192.168.1.4

Jenkins代码自动化

jenkins

Jenkins代码自动化

需要用到git、maven、github/gitlab等服务的支持

简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台。

什么是持续集成

持续集成(Continuous integration),简称CI,是指开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。持续集成是一种软件开发实践。

为什么要持续集成

GitLab在线代码仓库托管

GitLab_logo

GitLab在线代码仓库托管

概念

GitLab作为一个开源项目,开始帮助团队在团队开发上进行合作。通过以业界领先的步伐交付新的功能为整个软件开发和操作生命周期提供了一个单独的应用平台。GitLab提供了管理、计划、创建、验证、打包、发布、配置、监视和保护应用程序所需的一切。GitLab是一个基于Git实现的在线代码仓库托管软件,一般用于企业、学校等内部网络搭建Git私服。GitLab是一个提供代码托管、提交审核和问题跟踪的代码管理平台。GitLab粉社区版(CE)和企业版(EE)

用来进行代码程序版本控制的软件有:svn、GitHub、GitLab

Git版本控制

git_logo

Git版本控制

概念

Git是一个分布式的版本控制系统

版本控制系统(Version Control System),是一个记录一个文件或者若干个文件内容变化,以便于在将来查阅特定版本修订情况的系统,可以以标签管理的功能来达到这一的效果

特点

将文件回溯到之前的某个状态

可以从内容变更中看出,是谁提交的代码除了问题,易于排错

ELK日志分析系统

elk-logo

ELK日志分析系统

本文参考链接: https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html

概念

awk、grep、cat、tail等命令可以对日志进行简单筛选,面对海量日志的场景,简单操作,效率过低

ELK是elastic公司提供的一套完整的日志收集以及展示的解决方案,三个产品首字母缩写是ELK,分别是ElasticSearch、Logstash和Kibana

FastDFS分布式存储服务

FastDFS分布式存储

什么是FastDFS

FastDFS是一个开源的轻量级分布式文件系统。它解决了大量数据存储和负载均衡等问题。适合存储一些视频、音频、图片、文档,允许单个文件的大小为4kb~500MB,在UC基于FastDFS开发向用户提供了:网盘、社区、广告和应用下载等业务的存储服务。

支持Linux和FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API互为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性,FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。

FastDFS相关概念

FastDFS服务端有三个角色:跟踪服务器(tracker server)、存储节点(storage server)、客户端(client)

PMM数据库监控和管理

pmm

PMM数据库监控和管理

PMM相关

PMM(Percona Monitoring and Management),Percona监控和管理

主要为了监控MySQL和MongoDB的性能,专业的数据库监控

其他监控:Lepus(天兔)

​ 1、图形化界面简陋

​ 2、监控项少

​ 3、已停止更新

​ Zabbix

PMM监控:1、web界面比较炫酷

​ 2、监控项多(连接、线程、临时对象、慢查询、主机性能(CPU、MEM、DISK、THREAD))

ElasticSearch搜索服务器

Elasticsearch

ElasticSearch搜索服务器

概述

Elasticsearch是一个基于Lucene库的搜索引擎 ,提供分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索殷勤Apache Lucene基础上的搜索引擎,它不仅可以进行全文搜索,还可以进行一下工作:

  • 分布式实时文件存储,基于内存,可持久化,并将每一个字段都编入索引,使其可以被搜索,更加适用于企业内部数据的搜索

  • 实时分析的分布式搜索引擎

  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据

  • 提供了REST API的操作接口,开箱即用

Consul微服务注册

Consul微服务注册

作用

微服务注册中心

服务发现

键值对存储(docker swarm集群)

Consul服务端口:8300

Consul服务http/api端口:8500

producer端口:8501

producer-2端口:8502

consumer端口:8503

Spring Cloud微服务

Spring_Cloud

Spring Cloud微服务

概念

微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。

微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。微服务是一种架构风格,一个大型复杂软件应用有一个或多个微服务组成。系统中的各个微服务可被独立部署,

Maven私服Nexus(本地仓库)

Nexus_logo

Nexus介绍

1、管理Maven仓库

Nexus是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但这通常不是一个好的做法。应该在本地架设一个Maven仓库服务器,还提供了强大的仓库管理功能,构件搜索功能,占用较少的内存,基于简单文件系统,而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

Java项目管理--Maven

maven_logo

Maven介绍

Maven是 Apache 下的一个纯 Java 开发的开源项目

基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

功能

1、Maven模型的Java项目对源代码,单元测试代码、资源、jar包等有规范的目录规划,可以理解为Java的管理工具,可以很方便的注入jar包

2、解决项目之间的依赖关系,版本不一致,版本冲突等问题

3、合理的jar包管理机制

Tomcat安装管理及优化

tomcat_logo

Tomcat介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0