【Jenkins】简单的项目自动化部署
目录
Jenkins 官网:Jenkins
Jenkins 使用文档: 创建您的第一个Pipeline
基础概念
什么是CI:
CI (Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
什么是CD:
CD (Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。
Jenkins的三种构建方式
jenkins有三种构建方式:
- 触发式构建:用于开发环境部署,开发人员可以 **push **代码或者合并代码到 gitlab 项目的 master 分支上,jenkins就部署代码到对应服务器;
- 参数化构建:用于测试环境或者预上线环境部署,只需要在jenkins的界面传入对应参数即可执行部署;
- 定时构建:在参数化基础上添加,可以每天定时打包;
Jenkins进行项目构建和发布(触发式构建)
Jenkins是一个强大的CI工具,虽然本身使用Java开发,但也能用来做其他语言开发的项目CI。下面讲解如何使用Jenkins创建一个构建任务。
Gitlab 添加 Jenkins 服务器公钥
Jenkins 服务器(用户):生成公钥放到 Gitlab 中;拉取代码可以通过 ssh 免密拉取;
测试环境(部署项目服务器):生成公钥放到 Gitlab 中;拉取代码可以通过 ssh 免密拉取;
Jenkins or 测试服务器没有bash;
|
|
生成对应用户的公钥
|
|
Gitlab服务器部署
创建认证凭证
创建触发式任务
配置项目源码管理(Git)
设定触发条件
(这些选择的是通过 webhook 触发构建)
GitLab 中配置触发条件(webhook)