Jenkins 持续交付安装部署全教程
Jenkins
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
Jenkins 正如它的图标一样是一个优雅的绅士,使用它可以让你的工作更加的专注,因为它把开发-集成-交付打造成高效的流水线作业,管理员只需要前期建立好合适的项目生成方案即可。

部署过程
我这里使用 docker 来部署,需要提前准备好 docker 环境。
docker pull jenkins/jenkins:lts

# 创建一个文件存放目录
mkdir -p /opt/docker/jenkins
docker run -di --name=jenkins -p 8080:8080 -v /opt/docker/jenkins:/var/jenkins_home jenkins/jenkins:lts
# 如果创建后没有启动,请判断是否为目录权限问题
# chown -R 1000 /opt/docker/jenkins
运行成功后,查看运行状况
docker ps

使用服务器 ip:8080 的形式通过网页访问。

这里需要填入管理员密码,默认是写到日志中的,回到操作系统中使用下面的命令来查看:
docker logs -f jenkins
在日志中找到如下图类似的密码,拷贝粘贴到之前的网页输入框里登录到系统。

也可以通过以下命令来查看你的初始化密码,结果是相同的:
[root@mx jenkins]# cat /opt/docker/jenkins/secrets/initialAdminPassword
6f9699eb55d44db9b495a8733f4ba3e1
[root@mx jenkins]#
登录后就是一系列的设置了。

这里就选择“安装推荐的插件”,有部分插件可能会因为网络的问题导致安装失败,可以多次重试或跳过后面再安装。

插件安装好后,会进入到配置用户界面,根据自己的情况配置。

配置好实例地址,最后保存完成。

最后就能进入到 Jenkins 的主界面了

配置插件
如果因为之前因为插件没有下载完成,可进入 Manage Jenkins -> Manage Plugins 中再次安装。

也可以对一些插件手动安装,比如像图中的操作,安装好 SSH 插件,可用于后面的持续交付,连接服务器执行部署脚本。


配置 JDK 和 Maven
由于 Java 用的多,在这里主要构建 Java 应用,点击全局工具配置。

点击新增加 Jdk,并选择好版本。

同样地,新增 Maven,我这里使用 3.6.2。两个都配置好后,最后点击保存!

配置 SSH
用途:主要用于连接服务器部署项目。首先进入到系统配置中

配置好服务器的 IP 地址和端口,但这里添加账号密码时无效,需要使用下一步的添加凭据功能。



点击添加凭据,填入你需要部署的服务器地址端口等信息。

再次回到之前 SSH 的配置页里,就可以看到我的配置的账户登录信息了。选择并保存。

部署应用
简单新建一个项目,并把仓库地址加入到 Jenkins 中,根据自己的情况配置,配置完成后在主页就能看到自己项目信息了。


