## 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介紹