基于Docker容器的,Jenkins、GitLab构建持续集成CI
一、场景:
开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布。
二、准备:
基于Docker,创建一个私有GitLab的容器,创建一个jenkins的容器
三、步骤
1、构建Jenkins容器
Jenkins容器安装Jenkins的rpm包,Jenkins依赖 JDK,所以需要在Jenkins的容器中安装配置jdk,本人使用jdk1.8,同时需要Jenkins的容器调用maven的打包命令,所以也需要配置安装maven,本人使用maven 3.3.9。
理解Docker容器的进程管理
Docker在进程管理上有一些特殊之处,本文会分析Docker进程管理的技术细节,并介绍一些常见问题的解决方法和注意事项。
redis架构演变与redis-cluster群集读写方案
本文涉及到近年来redis多实例架构的演变过程,包括普通主从架构、哨兵模式下的主从架构、redis-cluster高可用架构的简介。同时还介绍使用Java的两大redis客户端:Jedis与Lettuce用于读写redis-cluster的数据的一般方法。
Grafana+Prometheus系统监控之Redis
介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
jedis连接池详解(Redis)
原子性(atomicity):
一个事务是一个不可分割的最小工作单位,事务中包括的诸操作要么都做,要么都不做。
Redis所有单个命令的执行都是原子性的,这与它的单线程机制有关;
Redis命令的原子性使得我们不用考虑并发问题,可以方便的利用原子性自增操作INCR实现简单计数器功能;
单机模式:
package com.ljq.utils;
import redis.clients.jedis