Jenkins安装与使用(二)

Jenkins安装与使用(一)

3. 添加项目

首先,我们捋一遍持续集成的流程:

  1. 开发人员提交代码,到git仓库;
  2. jenkins作为持续集成工具,使用git工具到git仓库拉取代码到服务器上;
  3. 配合jdk,maven等工具完成代码的编译,测试,打包等工作;
  4. jenkins把生成的jar包或war包分别发送到不同的服务器上,部署发布。

3.1 添加凭证-配置git

3.1.1 添加凭证

​        凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。

  1. 首先,要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件,安装完成后会出现凭证管理的菜单。
    在这里插入图片描述

  2. 点击进入后,添加凭证,可以看到类型是有物种不同的类型。第一种用户名和密码和第二种ssh是最常见的两种方式。
    在这里插入图片描述

  3. 我们在这里演示添加一个凭证。即:从git仓库拉取代码,首先确保已经在jenkins上安装了git插件,以及在jenkins所在的服务器上也安装了git工具。(git插件只是在添加项目时源码管理的地方可以选择git,实际上当我们点击构建项目时,是服务器上的git工具自动拉取代码到工作目录下)
    在这里插入图片描述

  4. 用git的用户名和密码创建凭证,用户名和密码不必多说,id可以不用填写会自动生成,描述是为了使用时能分辨清楚;点击完成创建成功。
    在这里插入图片描述

  5. 添加成功后,在创建项目时,就会在源码管理这里看到我们添加的git凭证。
    在这里插入图片描述

3.1.2 验证

  1. 我们这里先只拉取代码,验证一下git是否配置成功。创建完成后点击立即构建,在下方可以看到构建历史,点进去可以在控制台看到拉取代码的日志,说明我们已经配置成功。
    在这里插入图片描述
    在这里插入图片描述

  2. 日志的第三行Building in workspace /usr/local/jenkins/workspace/test01,这个就是我们拉取到代码的路径,前面是我们jenkins的工作目录,后面是我们项目的名称,所以我们也可以在服务器对应的目录上看到拉取的代码。


3.2 添加全局变量-配置jdk和maven

3.2.1 添加配置

我们之前已经在Jenkins所在的服务器上安装好了maven和jdk。

          现在我们还需要在Jenkins的系统配置中添加一些全局变量,这里的配置让Jenkins可以感知到maven的这些命令。

系统配置 -> 全局属性 -> 环境变量

添加的环境变量如下:JAVA_HOME、M2_HOME、PATH+EXTRA(在之前的PATH环境变量的基础上追加新的环境变量)
在这里插入图片描述

3.2.2 验证

  1. 我们在此验证一下刚才的操作,刚才添加的项目test01点开配置

    构建 -> 添加构建步骤 -> 执行shell,输入如下命令:
    在这里插入图片描述

  2. 点击构建,查看控制台输出的日志,可以看到构建成功,说明我们配置的没有问题;同时,也可以在Jenkins服务器的workspace目录下看到我们打包成功了。
    在这里插入图片描述


3.3 发布

        至此,我们已经完成了项目的构建步骤,只剩下最后一步,把打的jar包或其他的包分配到指定的服务器下,然后部署。

这里首先介绍一个Jenkins的环境变量$WORKSPACE,这个变量的定义是The absolute path of the directory assigned to the build as a workspace. 那么它指的路径到底是什么呢?我们可以创建一个项目验证一下。

可以看到$WORKSPACE的路径就是我们之前在安装Jenkins时说过的JENKINS_HOME/创建项目名称,也就是我们代码的根目录,之后在项目配置时写的相对路径也是从这个地方开始的。

3.3.1 项目配置

  1. 下载一个插件Publish Over SSH,这个插件可以把指定的文件发送到其他服务器的制定目录下,并执行一些操作。
    在这里插入图片描述

  2. 我们需要将包发送到一个测试服务器上,那么就一定需要将这个测试服务器的信息配置到Jenkins上。
    系统管理 -> 系统配置 -> Publish Over SSH,配置信息如下:
    在这里插入图片描述

  1. Publish over ssh -> SSH Servers -> 新增;
  2. Name:为了区分不同的服务器,自由命名
  3. HostName:服务器的地址
  4. Username:服务器连接的用户名
  5. Password:服务器连接的密码
  6. Remote Directory:服务器的目标路径,我们将文件发送到的路径
  7. 底下可以点击Test Configuration,测试我们的配置是否可以成功连接上,注意:如果Remote Directory指定的路径服务器上不存在,测试结果也是会失败的。测试成功,点击保存。
  1. 打开我们之前创建的项目,继续编辑配置。
    增加构建步骤 -> Send file or execute command over SSH

    jar包路径:

    配置:
  1. Name 是我们之前配置的测试服务器的名称,如果之前配置了多个服务器,在这里可以做出选择;

  2. Source files:jar包的路径,这里可以写相对路径

  3. Remove prefix:发送文件需要移除的路径,举个例子,我们的jar包的路径是$WORKSPACE/springboot/target/***.jar

    那如果我们这里不配置,文件发送到指定服务器后前面的 springboot/target 也会一起被复制过来,显然我们是不需要这个前缀的,所以需要移除这个路径。

  4. Remote directory:发送文件的目标路径,与前面配置的路径结合在一起;因此,我们这个配置中目标路径是/app/myspringboot

  5. Exec command:这个是可执行的命令,可以写一些脚本,在将文件发送到测试服务器后,在测试服务器上执行此处添加的命令。

    这里简单说明下的我写的脚本的意思:首先是得到这个项目的pid,如果项目之前已经部署过了,需要先杀掉这个进程;接下来是java -jar启动jar包,然后等待30秒,再次查看pid,如果启动成功了就会有新的pid,如果没有说明启动失败了。

3.3.2 验证

        至此,我们已经配置完成了,点击立即构建,可以在控制台输出查看到最终的构建结果。

  1. 在Jenkins的构建历史中,可以看到对应的控制台日志中的输出结果。
    在这里插入图片描述

  2. 在对应的服务器上看到复制的文件和已部署的进程信息,这也说明我们的操作是成功了的。
    在这里插入图片描述


3.4 总结

        至此,我们已经初步完成了Jenkins的配置和使用,在以后的开发中,当我们提交完代码后,只需要在Jenkins上点击一下构建,就可以完成自动构建部署等操作,是不是非常方便呢?
        当然,Jenkins还有很多其他的功能和插件,比如构建触发器、邮件服务、用户权限管理等等,以后有机会在继续学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值