Jenkins自动化部署springboot+vue应用

Jkenkins是干什么的,能解决什么问题?

可能有不少小伙伴会遇见这种情况:每次升级系统,全体员工如临大敌,总要折腾到半夜或许凌晨甚至第二天还不能完成顺利的升级上线,最后检查发现是少更新了某个文件,某个服务等等。Jkenkins可以有效解决类似的问题。
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件;其支持各种运行方式,如系统包、Docker或一个独立的应用。
项目代码提交代码仓库(git/svn)后,通过Jenkins很方便的能实现自动化编译、部署各个运行环境,从而避免手动更新带来各种各样的问题。
下图为Jenkins实现项目代码编译、镜像生成、重启服务等一系列过程的大致原理图。


jenkins.jpg

安装Jkenkins

我们使用docker环境下安装,安装长期维护版本,docker 在嵌入式下安装请参考:
RK3399ProD下安装Docker
Raspberry Pi 4B 下安装Docker
springboot应用demo: https://github.com/lipandeng/devops-demo
注意:在安装jenkins时一定要有足够的可使用内存(1GB+),否则很容易执行任务崩溃
查看可用内存

free -h
free -h
docker pull jenkins/jenkins:lts

pull 镜像后创建存储jenkins数据的卷

docker volume create jenkins_home

启动jenkins容器

docker run -p 8080:8080 \
-p 50000:50000 \
--name jenkins \
-u root \
-v jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:lts

成功运行jenkins容器后即表示jenkins已经可以正常使用了

配置jenkins

  • 首次运行配置
    通过web界面完成jenkins配置,地址 jenkins管理 192.168.0.206为安装jenkins主机的ip地址
  1. 打开web管理界面,输入管理员密码
解锁 Jenkins

进入容器,查看管理员密码

docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
获取管理员密码
  1. 选择安装推荐插件
    安装提示下一步下一步即可
    安装推荐插件

    新手入门

    创建管理员用户

    默认即可

    已经就绪

    Jenkins首页
  2. 系统管理配置
  • 插件管理
    安装以下常用插件SSH 、Role-based Authorization Strategy
    插件管理

    SSH

    Role-based Authorization Strategy

    安装插件后要重新启动jenkins,勾选“安装后重启”即可。

    全局安全配置

    授权策略-Role-Based Strategy
  • 全局工具配置
    全局工具管理

    JDK配置 :可以使用容器下的jdk,JDK路径查看

#注意是在容器内执行
echo $JAVA_HOME
JAVA_HOME

jdk

Maven 配置:选择从Apache安装最新版本3.8.2


Maven 配置
  • 凭证管理
    在这里添加全局凭证,如远程linux服务的ssh用户名&密码,代码仓库的用户名和密码等


    凭证管理

    添加凭证

    ssh

    gitee
  • 系统配置
    配置全局SSH账号信息(SSH remote hosts),访问远程服务器,执行Linux脚本


    系统配置

    SSH remote hosts


    SSH
  1. 角色权限管理
    这个就比较简单了,不再详细介绍了
    角色权限管理

创建&执行任务

- 创建Springboot引用部署任务

  1. 按下图构建一个自由风格的软件项目任务


    一个自由风格的软件项目
  2. 配置项目源码仓库,笔者这里用的是gitee,并选择上一部创建的gitee凭证及分支


    配置项目源码仓库
  3. 添加构建步骤
    选择调用顶层Maven目标


    选择调用顶层Maven目标

    配置如下图:选择前面创建的maven ,${WORKSPACE}为当前目录,填写执行的命令 clean package


    填写Maven相关参数

    再新创建一个任务用来执行远程linux的脚本:Execute shell script on remote host using ssh
    执行远程linux的脚

    选择前面创建好的远程linux

    接下来就可以执行任务了


    点击执行

    点击控制台输出可以看到构建过程
    控制台

    构建成功

    当显示:Finished: SUCCESS时,即标识已经完成构建,可以正常访问springbooot应用了。

- 创建Vuejs应用部署任务
请参考:Jenkins自动化部署Vue应用

你可能感兴趣的:(Jenkins自动化部署springboot+vue应用)