Jenkins 入门教程之四 Jenkins 与 Git 持续集成实战
Jenkins+GitHub 持续集成环境的搭建,与 Jenkins+SVN 持续集成环境的搭建很相似,下面只简单介绍 Jenkins+GitHub 的重点内容,额外的操作可参考上一篇文章。
Jenkins+GitHub 持续集成环境搭建要点
- Jenkins 需要部署到外网上,因为内网地址 GitHub 是无法访问到的,可以租用阿里云等云服务平台
- Jenkins 所在的主机上需要安装 Git,通过 Git 程序从 GitHub 上 clone 代码
- 在 Jenkins 内需要指定 Git 程序位置,和指定 JDK、Maven 的位置类似
- 在 GitHub 上使用 repository 的 WebHook 方式远程触发 Jenkins 构建
- 在 Jenkins 内关闭 “防止跨站点请求伪造”
Java 之线程池使用详解
大纲
线程池的介绍
线程池的作用
- 限定线程的个数,避免由于线程过多导致系统运行缓慢或崩溃。
- 线程池不需要每次都去创建或销毁线程,节约了资源。
- 线程池不需要每次都去创建线程,响应时间更快。
线程池的组成
线程池是一种线程管理的机制,用于提高多线程任务处理的效率和性能。它由线程池管理器、工作队列和一组工作线程组成。
- 线程池管理器:负责创建、管理和调度线程池中的线程。它根据需要动态地创建或销毁线程,并分配任务给空闲的线程。
- 工作队列:用于存储待执行的任务。线程池中的线程从工作队列中取出任务进行处理。当工作队列已满时,新提交的任务可能会被拒绝或者等待一段时间。
- 工作线程:线程池中的实际执行单元。它们循环地从工作队列中取出任务执行,并在任务执行完毕后返回线程池等待下一次任务。
Git 之九 - Docker 搭建 Gitlab 服务器
前言
Docker 环境下官方提供三种方式安装 Gitlab,第一种是基于 Docker 引擎安装,第二种是集群环境下安装,第三种是通过 Docker-Compose 安装。本文将介绍如何通过 Docker-Compose 安装 Gitlab,如果需要 Docker 官方安装 Gitlab 的教程,可点击这里。
安装 Docker
安装 Docker-Compose
站内教程:Docker 之十七 Docker-Compose 安装与使用
Gitlab 数据卷挂载介绍
Hexo 全局添加 APlayer 音乐播放器
Docker 之十六搭建私有仓库管理系统 Harbor
相关站点
Harbor 介绍
Harbor 是 VMware 公司开源的一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,以 Docker 开源的 Registry 为基础,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全,提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中,确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
Harbor 特性
- 基于角色的访问控制(Role Based Access Control)
- 基于策略的镜像复制(Policy based image replication)
- 镜像的漏洞扫描(Vulnerability Scanning)
- AD/LDAP 集成(LDAP/AD support)
- 镜像的删除和空间清理(Image deletion & garbage collection)
- 友好的管理 UI(Graphical user portal)
- 审计日志(Audit logging)
- RESTful API
- 部署简单(Easy deployment)
Docker 之十五 Docker 私有仓库搭建与使用实战
创建 Docker 私有仓库
1 | # 下载Docker官方的registry镜像 |
查看私有仓库列表
1 | # 使用命令查看私有仓库列表,默认值为:{"repositories":[]} |
Debian 安装 Apache 与 Subversion
前言
通过 Apache、Subversion 搭建 SVN 服务器,实现使用 HTTP、SVN 协议访问 SVN 仓库,并进行细粒度的权限控制,本教程适用于 Debian/Ubuntu 系统。
系统环境
1 | # uname -a |
安装软件
1 | # 更新软件索引 |
Jenkins 入门教程之三 Jenkins 与 SVN 持续集成实战
下面的实战内容是在上篇内容的基础上进行操作的,为了保证连贯性,建议先将上篇的操作步骤执行完再阅读本篇内容。
通过 Eclipse 创建基于 Maven 的 SpringBoot Web 项目,用于测试 Maven 构建项目
创建 Maven 项目的时候,Archetype 选择”maven-archetype-quickstart”,此 SpringBoot Web 项目不需要 web.xml,只需在 pom.xml 配置文件里指定 packaging 为 war 类型即可。项目内容很简单,访问 JSP 页面直接输出字符串 “hello Jim”。项目源码下载链接已经给出,下载解压后直接导入项目到 Eclipse,执行”spring-boot:run” 命令即可运行项目,浏览器输入以下地址验证是否运行正常:http://127.0.0.1:8080/demo/hello
,点击下载完整的代码 、点击下载 SHA256 校验文件。
Centos7 安装图片处理软件 GIMP
系统环境
1 | CentOS Linux release 7.6.1810 (Core) |
GIMP 安装
GIMP 算得上是 Linux 系统下的 Photoshop,基于 GTK 编写的图像编辑处理软件,功能非常强大。
1 | # 安装EPEL源 |