一 3w解析持续集成与部署工具Jenkins
why? 为什么要用?
手动部署项目的过程是痛苦且乏味的, 而一个持续集成和部署的工具能够帮助你解放双手, 投入更多的精力到其它的事情上。
此外jenkins是开源的,是CI(Continuous integration)工具中公认的老大。到目前2020年, 地位仍是不可撼动,广泛应用于多种类型项目部署,自动化构建,测试和部署等功能。Jenkins虽然是用java编写的, 但却通过插件几乎集成了所有流行的编程语言编写的项目来进行集成和部署。
how? 怎么用?
首先,需要了解项目整个部署的流程,然后结合各个流程jenkins提供的插件仓库进行jenkins方面的实现。以一个使用git进行版本管理、Java语言编写的maven项目举例:
git仓库拉取代码 → maven编译、打包 → 通过ftp协议上传该包的服务器上 → 执行启动脚本运行项目
这个过程就会用到Jenkins提供的一些插件来进行功能实现, 上述流程就会用到插件Git Parameter(参数化检索代码)、Maven Integration(使用maven构建代码)以及Publish Over SSH(sftp传输文件并执行shell命令)来完成上述部署过程的实现。
what? 是什么?
那么Jenkins到底是什么?看看它的自我介绍吧!
哈哈哈, 它的宣言是: 构建伟大,无所不能
它的介绍是:Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
既然这么6,那接下来就来全方位的系统了解一下Jenkins的使用,本篇博文会介绍jenkins从安装到前后端项目的部署以及权限分配和使用过程中的常见问题,从原理上基本上满足企业日常的需求,过程中也可以通过其他的一些插件进行优化和拓展,话不多说,整体开始。
本篇文章示例说明:
后端示例:
编程语言:Java
构建工具:Maven
代码管理:Git
前端示例:
项目类型:Vue项目
构建工具:Node
代码管理:Git
二 搭建Jenkins及工具配置
1. 安装Jenkins
● Docker安装Jenkins
docker run -itd \
-p 8080:8080 -p 50000:50000 \
--name jenkins --privileged=true \
-v /data/jenkins:/var/jenkins_home \
docker.io/jenkins/jenkins:lts
● war包方式安装Jenkins
-
下载war包:
http://mirrors.jenkins.io/war-stable/latest/jenkins.war
-
启动:
java -jar jenkins.war --httpPort=9090
● rpm安装Jenkins
1.下载jenkins的rpm包
https://pkg.jenkins.io/redhat-stable/
-
安装
sudo rpm -ih jenkins-2.235.1-1.1.noarch.rpm
-
启动
systemctl start jenkins
推荐使用Docker和RPM的方式安装!
安装完成后浏览器访问 http://localhost:8080 即可开始访问了,如下图那熟悉的老头儿:
这个过程需要等待几分钟时间,这时候Jenkins会自动的做一些初始化工作,细心的小伙伴会发现在服务器jenkins_home文件夹下已经生成很多文件了。(请关注这个细节, 作者不会做一些无用功, 在插件加速步骤会用到)
config.xml hudson.model.UpdateCenter.xml jenkins.install.UpgradeWizard.state jobs nodeMonitors.xml plugins secret.key secrets userContent war
copy_refere