1. 什么是 CI/CD

CI/CD 的核心概念可以总结为三点:

  • 持续集成
  • 持续交付
  • 持续部署

代码上线流程:拉取代码->构建->测试->打包->部署

1.1 CI(Continuous Integration)

CI/CD 中的"CI"始终指持续集成

1.2 CD(Continuous Delivery/Continuous Deployment)

CI/CD 中的"CD"指的是持续交付和/或持续部署

Jenkins 是一款开源的 CI/CD 软件,可以算是 CI/CD 软件领导者,它提供了超过 1000 个插件来支持构建、部署、自动化,基本上能够满足任何项目的需要。

Jenkins工作流程如图所示:

jenkins 支持jnlp jenkins的使用_jenkins 支持jnlp

 开始搭建Jenkins环境

1、首先,准备一个私人仓库,上传好测试代码,例如:在gitee上新建一个仓库,测试代码自己可以看到效果即可。

2、我们需要一台服务器来跑Jenkins,一台服务器放我们的项目代码,手头没有多余服务器的小伙伴知道在真正的开发时,是分开部署的即可,这里不做要求。将来我们的代码提交到 Gitee 之后,Gitee 会通过一个 POST 请求将这个事件告知 Jenkins,进而触发 Jenkins 的构建操作。所以这就要求 Gitee 能够访问到你的 Jenkins 服务器,所以如果你的 Jenkins 刚好搭建在服务器上,这事就很容易了,但如果是搭建在本地,就得通过花生壳之类的内网穿透工具来辅助你的工作了,比较麻烦,网速也会有所限制。

3、首先连接上服务器

jenkins 支持jnlp jenkins的使用_运维_02

 为了方便管理,使用docker进行安装

先安装docker

4、接下来启动并创建Jenkins容器

# 创建 jenkins 目录
mkdir /data/jenkins_home/
# 修改目录的所有者,以便于 Jenkins 容器能够操作该目录
chown -R 1000:1000 /data/jenkins_home/
 

docker run -d --name jenkins -p 8088:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins

效果图如下:

jenkins 支持jnlp jenkins的使用_运维_03

 执行如上命令,安装成功之后,浏览器输入 http://localhost:8088 就可以访问了。(本地虚拟机访问如上地址,服务器改成自己的ip地址)

注意:如果启动时不报错,但是使用docker ps -a 查看时,端口为空,可能是因为你的虚拟机没有安装jdk,去下载安装一下就好了。

jdk8下载地址

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk11下载地址

http://openjdk.java.net/projects/jdk/11/

 浏览器打开界面如下:

jenkins 支持jnlp jenkins的使用_运维_04

 密码可以通过:

cat /var/jenkins_home/secrets/initialAdminPassword

这条指令查看,jenkins_home在哪里,就写哪里,

也可能是如在data下就是:

cat /data/jenkins_home/secrets/initialAdminPassword

如果实在找不到jenkins_home可以执行以下命令

 find / -name config.xml

查看那jenkins的目录

输入密码后,进入这个页面,新手第一次用直接选安装推荐的插件就可以了

jenkins 支持jnlp jenkins的使用_jenkins 支持jnlp_05

 网络原因可能有安装失败的,重试就好了

jenkins 支持jnlp jenkins的使用_jenkins_06

 随便选择哪个登录,这里我直接选admin登录

 

jenkins 支持jnlp jenkins的使用_Jenkins_07

 一路点击来到Jenkins操作页面。但是,大家注意了,刚刚我们安装的插件很多是要重启才会生效的,所以,我们输入docker restart jenkins重启一下jenkins。

密码是上面用cat指令拿到的,登录进来。

部署不同的项目所需要的插件是不一样的,以Spring boot 的项目为例,接下来我们安装三个必要的插件:

  • Maven Integration:Maven 构建工具
  • Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。
  • Gitee:协助使用 Gitee 仓库。

安装成功之后,重启 Jenkins。

配置Jenkins

在这一切做完以后,我们开始配置Jenkins