## Jenkins可以做什么?
软件开发实践过程中有很多重复性的工作,并且团队成员都需要经常[集成](https://baike.baidu.com/item/%E9%9B%86%E6%88%90)他们的工作。
持续集成:一种软件开发实践。通过自动化的构建(包括编译,发布,自动化测试)来验证集成的工作任务。
可以尽快的发现集成错误,可以大大减少集成的问题,让团队能够更快的开发[内聚](https://www.cnblogs.com/robnetcn/archive/2012/04/15/2449008.html)的软件。
而Jenkins的定义是一个可扩展的持续集成引擎。
> 持续集成不仅仅是自动化部署,它的重要性还包含了项目质量的提高以及减少重复的操作[等等](https://baike.baidu.com/item/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90#3)。
怎么让持续集成的价值体现出来呢?首先从这个持续集成工具开始。
[持续集成的要素](https://baike.baidu.com/item/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90#4)
### 1. Jenkins可以做的事
最基本的就是项目构建,再就是通过Jenkins的插件围绕构建的一些工作进行自动化。比如以下:
- 自动化项目构建
- 自动化测试
- 自动化部署
Jenkins的强大依赖于很多第三方插件。
### 2. Jenkins实用插件
- iOS专用:Xcode integration
- Android专用:Gradle plugin
- Gitlab插件:GitLab Plugin 和 Gitlab Hook Plugin
- Git插件: Git plugin
- GitBuckit插件: GitBuckit plugin
- 签名证书管理插件: Credentials Plugin 和Keychains and Provisioning Profiles Management
- FTP插件: Publish over FTP
- 脚本插件: Post-Build Script Plug-in
- 修改Build名称/描述(二维码): build-name-setter / description setter plugin
- 获取仓库提交的commit log: Git Changelog Plugin
- 自定义全局变量: Environment Injector Plugin
- 自定义邮件插件: Email Extension Plugin
- 获取当前登录用户信息: build-user-vars-plugin
- 显示代码测试覆盖率报表: Cobertura Plugin
- 来展示生成的单元测试报表,支持一切单测框架,如junit、nosetests等: Junit Plugin
- 其它: GIT plugin / SSH Credentials Plugin
### 3. 基础环境配置
- maven
- jdk
## 参考以下
[Jenkins Gitlab持续集成打包平台搭建](http://skyseraph.com/2016/07/18/Tools/Jenkins%20Gitlab%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90%E6%89%93%E5%8C%85%E5%B9%B3%E5%8F%B0%E6%90%AD%E5%BB%BA/)
[Jenkins使用](https://www.cnblogs.com/yangxia-test/p/4365896.html)
[Jenkins系列文章](http://www.cnblogs.com/zz0412/tag/jenkins/default.html?page=1)
- 在看的书和文章
- Java程序员手册
- 思维方式
- 面向服务
- Dubbo
- StringBoot
- 001.应用部署
- 002.注解学习
- SpringCloud
- SpringCloud入门
- Dbs
- 分布式
- Ffp
- 多线程
- 多线程小知识
- Java锁认识
- Netty
- Netty学习目录
- 读写事件流程分析与相关API
- 数据
- 大数据学习
- 学习目录
- Hadoop学习
- Hadoop组建安装
- ssh配置免密登陆
- Hadoop伪集群模式
- HBase伪集群模式
- Hive安装
- 常用操作命令
- 问题记录
- DOLIST
- 学习资料
- Spark
- 一些概念介绍
- 数据库
- Oracle相关
- 批量测试数据生成
- MySQL相关
- Redis
- 常用操作
- 机器学习
- 认识
- Kafka
- 监控
- 分布式相关
- RPC
- 中间件
- ElasticSearch
- ES环境搭建
- Python客户端创建索引
- Es的api常用操作
- SQL查询引擎
- Es数DB的数据同步
- ActiveMQ
- ActiveMQ介绍
- 分享
- Skyeye
- 组件安装配置
- Dubbo服务Demo应用部署
- Kafka安装配置
- RabbitMq配置
- Docker
- Docker学习文章
- Docker的大数据平台之路
- Docker环境搭建
- ubuntu16安装docker
- Docker镜像加速
- 使用Docker快速搭建中间件
- Docker环境使用mysql
- Docker环境的中间件搭建汇总
- Docker镜像容器管理
- Docker镜像创建
- Docker创建可用的系统容器
- Kubernetes
- etcd安装
- flanneld安装
- kubernetes环境安装
- kubernetes源码编译
- Linux相关
- Linux操作系统
- Deepin操作系统
- 新系统环境准备
- Linux系统小工具
- Linxu配置时间服务器同步
- DNS服务器dnsmasq
- Linux命令
- 常用命令
- 计算机基础
- README
- 数据结构
- 面试题总结
- 计算机组层原理
- 计算机组层原理
- 其它语言
- Python
- Python环境搭建
- Python学习总结
- Python语法学习
- Python模块学习
- MySQLdb
- scrapy
- Python的exception
- PythonNLP入门
- Go
- 工具组件
- Jenkins
- Jenkins认识
- Jenkins安装配置
- Jenkins插件使用
- Jenkins项目常用配置
- Git
- Git使用说明
- NLP
- 入门级别
- 一些概念
- faiss介绍
- WMD介绍