Jenkins的一些简单的笔记,自动化部署CICD

之后还有Dicker版本

Jenkins自动搭建HTML部署

使用Jenkins进行自动化的测试和运维是非常方便的事情,在Windows本地开发机中可以直接对所有的服务器进行管理,首先需要安装Jenkins以及对应的插件后可以在网页中正常的打开。

Jenkins可以实现远程部署和本地化部署,这两种方式有各自的优点,在开发机中进行配置远程进行管理需要开发机开机才会自动运行,也可以部署在远程服务器中进行管理,无论如何符合需求的才是最重要的内容。

  1. 首先登录管理员账户,管理员会自动的生成在密码文件中,可以复制过来登录

  2. 登录后安装推荐的大部分插件,系统环境中像是Git、JDK、Maven等当然是必须安装的

  3. 安装Publish Over SSH,用来完成远程发布的操作

  4. 配置Manager-Jenkins->global tool configuartion

    1. 配置Maven和配置文件路径

    2. 配置Git路径(不要配置SourceTree这样的自带的Git)

    3. 如果使用到了其他的软件需要配置相关的路径

  5. 配置SHH发布地址和邮件通知等服务(Manager-Jenkins->Configure System)

    1. 配置邮件时需要确保SMTP服务的开启以及用户名和密码(在很多商用邮箱中不一定是网页登录密码)可以测试发送邮件(有可能在垃圾箱中)
      2. 配置SSH Server (这一步虽然也可以使用密码的形式进行部署,但是推荐使用SSH key的形式,因为可以配置多台服务器为统一的秘钥)点击Test Configuration正常应该显示Success
  6. 接下来新建一个结点(item,配置源码管理地址,这里也推荐使用SSH秘钥进行管理)

  7. 使用轮训方式或者是Git代码更新的方式(或者钩子)进行构建(poll SCM */5 * * * *

  8. 在构建后操作中增加新的Send build artifacts over SSH,选择正确的服务器。

    1. 在配置时需要注意Source file指的是需要上传的代码文件,可以是Springboot的 JAR包(xxx/xxx-0.1.1.jar)或者是静态资源的某一个文件夹中所有的文件(output/**)
    2. remove prefix是需要移除的文件目录名称,例如上面的output文件夹移除(output/)
    3. remote diretory 是远程的目录地址(配置的SSH根目录+此相对目录)
    4. Exec command执行的shell命令,如果此命令执行失败则会返回一个不稳定的构建
  9. 增加一个构建后发送邮件的操作(可有可无)

Jenkins搭建Springboot Java部署环境

在创建普通项目工程的基础是哪个springboot的部署需要新建一个Maven工程,基本配置还是和普通的Jenkins一致,需要注意的是,Maven工程中有一个build选项,在这里我们需要指定root pom(我们工程没有变更目录,所以默认就行)还需要指定Goals and options(这里需要进行打包构建(mvn不用输入)clean install package -Ppro)

在远程发布环境中需要指定将jar包发送到服务器中,如下代码所示target/baidu-api-0.0.1-SNAPSHOT.jar

和HTML不同的是,静态HTML不需要重启服务器,我们在服务器中使用nginx进行转发,但是Java的运行环境需要使用命令进行重启,编写一个自动停止的shell脚本,并且在构建中使用sh命令进行启动。


#!/bin/bash
pid=`ps -aux | grep vhr-web | grep baidu-api-0.0.1-SNAPSHOT.jar | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "杀死存在进程"
nohup java -jar /home/wwwroot/baidu-api/baidu-api-0.0.1-SNAPSHOT.jar > baidu-api-spring.log2>&1 &
echo "启动成功"
~                   

配置Exec command

sh /home/shell/restart_baidu_api.sh

Jenkins注意事项


使用Jenkins进行自动化的测试和运维是非常方便的事情,在Windows本地开发机中可以直接对所有的服务器进行管理,不过在搭建的过程中可能会出现不少的坑,以此作为记录。

  1. 配置系统服务时需要配置系统JAVA_HOME等系统地址,或者直接在Jenkins的配置中进行增加,不要勾选自动安装。

  2. 如果在初始化安装插件失败时,有可能是因为网络问题造成的,或者很可能是nio在使用冲突造成的,需要关闭IJ等使用到Java nio的程序,重启Jenkins进行安装。

  3. 配置系统的邮件通知SMTP时,需要首先配置Local中的系统用户邮件,并且此邮箱应当和发件人一致,否则会导致下方的错误com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user

  4. 增加系统子节点一定要注意结点中的Java的安装,且保证需要保证正确的设置了JAVA_HOME以及其他的系统常量,否则需要在增加子节点的配置中点击高级进行配置。(并对齐设置可信)

  5. 在Jenkins搭建时,一定不能使用sourcetree 内置的Git,否则会出现无法读取远程或者是无法登录的错误,在更改系统单独下载的新版本Git后可以正常登录和读取远程仓库。

  6. 在配置Git读取数据时,Windows平台中可能会出现无法读取远程仓库的问题,有可能是不同网站的验证方式不同导致的,可以使用SSH方式进行读取,配置公钥在仓库或者用户SSH中,需要注意的是,生成的私钥和公钥的格式问题。

  7. 在Linux中配置时需要注意用户的权限,权限问题可能会导致拉取代码的操作失败。

  8. 无论是否产生不稳定的构建或者是构建成功或者是失败,应当在工作文件中产生对应的数据(来源自Git仓库)如果失败后,可以手动清除整个工作空间再次尝试。

  9. 通过SSH远程发布文件时需要注意部署时发送工程文件的路径问题(**是所有的文件夹和文件、而*只代表同一级目录中的文件)。同时远程需要配置远程服务器以及服务器中的用户名和密码。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值