Jenkins的安装与构建springboot项目

目录

 

Jenkins的介绍

Jenkins安装准备工作

Jdk安装

安装git

安装maven

安装Mysql

安装Jenkins

配置jenkins

jdk配置

Git配置

MAVEN配置

全局配置gitee

构建maven项目

Jenkins部署到远程服务器

进行全局下配置

然后构建项目配置


Jenkins的介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。本人的理解就是不用频繁的输入一些打包的命令,然后再去部署,而是通过jenkins远程拉取代码,通过脚本命令,自动打包部署启动项目。

Jenkins安装准备工作

由于jenkins基于java语言实现的,所以需要java环境。另外我们还要安装maven,和git。

Jdk安装

请参考Linux jdk的安装。

安装git

[root@localhost ~]# yum -y install git
验证是否安装成功
[root@localhost ~]# git --version
git version 1.8.3.1

安装maven

去官网下载安装包 http://maven.apache.org/download.cgi下载linux格式

Jenkins的安装与构建springboot项目_第1张图片

上传到服务器并解压到/usr/local/maven/maven,接下来配置maven环境变量

[root@localhost maven]# vim /etc/profile

添加以下内容

export MAVEN_HOME=/usr/local/maven/maven
export PATH=$PATH:$MAVEN_HOME/bin

:wq保存,刷新生效

[root@localhost maven]# source /etc/profile

检测是否配置成功,若出现版本信息,则成功。

[root@localhost maven]# mvn -version

修改maven的settings.xml文件 添加镜像依赖

	 
        nexus-aliyun
        *
        Nexus aliyun
        http://maven.aliyun.com/nexus/content/groups/public
    
    
        osc
        *
        http://maven.oschina.net/content/groups/public/
    

安装Mysql

由于项目连接到了数据库,所以这里装一下,也可以不安装,为了省事,此处用docker 安装

获取镜像
[root@localhost ~]# docker pull mysql
安装
[root@localhost ~]# docker create --name mysql8 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql
启动
[root@localhost ~]# docker start mysql8

在使用navicat连接时如果报2059错误。解决方案

将mysql用户登录的加密规则修改为mysql_native_password。
[root@localhost ~]# docker exec -it mysql8 bash
root@d8b19495f4e1:/etc/mysql# mysql -uroot -p
输入密码
 执行以下sql
%是支持远程连接,localhost是本地连接。
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

FLUSH PRIVILEGES;
然后就可以连接上了。

安装Jenkins

下载安装包 Jenkins官网下载地址

下载完成上传到服务器,执行以下命令进行安装

[root@localhost ~]# rpm -ivh  jenkins-2.296-1.1.noarch.rpm

安装完之后的默认路径

/usr/lib/jenkins/jenkins.war    WAR包 

/etc/sysconfig/jenkins       配置文件

/var/lib/jenkins/        默认的JENKINS_HOME目录

/var/log/jenkins/jenkins.log    Jenkins日志文件

修改配置文件如下截图的位置

[root@localhost ~]# vim /etc/sysconfig/Jenkins

Jenkins的安装与构建springboot项目_第2张图片

填写自己的java路径和用户修改为root

注意:1、实际生产不要用root用户启动,要自己创建一个用户

           2、java路径要写到bin下面的java 如/usr/local/jdk1.8.0_181/bin/java

然后将以下文件授权给root不然后面执行脚本的时候会告诉你没有权限

chown -R root:root /var/lib/jenkins
chown -R root:root /var/log/jenkins
chown -R root:root /var/cache/jenkins

启动jenkins

root@localhost ~]# service jenkins start

默认端口是8080。浏览器访问http:你的ip:8080

此时若报以下错误

Jenkins的安装与构建springboot项目_第3张图片

解决方案如下,报错原因是jdk的问题

1.卸载原来的jdk,安装官方的jdk版本。
        2.在服务器额外配置插件,根据自己服务器的版本安装,如下:

需要安装#Ubuntu9以上
apt-get install ttf-dejavu

#CentOS 6
yum install dejavu-sans-fonts

#CentOS 7
yum install fontconfig

然后重新启动就可以了

[root@localhost jenkins]# service jenkins restart

配置jenkins

Jenkins的安装与构建springboot项目_第4张图片

cat /var/lib/jenkins/secrets/initialAdminPassword

将密码复制到此处,然后下一步,安装推荐的插件,创建用户,然后保存继续。

因为我们要构建maven项目,所以需要安装maven插件,还需要从码云拉取代码,所以需要gitee的插件(跟下图一样)

Jenkins的安装与构建springboot项目_第5张图片

下面全局配置如下图

Jenkins的安装与构建springboot项目_第6张图片

jdk配置

Jenkins的安装与构建springboot项目_第7张图片

Git配置

Jenkins的安装与构建springboot项目_第8张图片

MAVEN配置

Jenkins的安装与构建springboot项目_第9张图片

全局配置gitee

Jenkins的安装与构建springboot项目_第10张图片

私人令牌,点问号处会告诉你去哪生成

构建maven项目

Jenkins的安装与构建springboot项目_第11张图片

配置maven

Jenkins的安装与构建springboot项目_第12张图片

脚本如下,脚本一定要放在你自己的位置,比如我的是/opt

#!/bin/bash -ile
project=jenkins.jar
pathName=test-jenkins
echo "拷贝文件"
rm -rf /opt/springboot/$project
mv  /var/lib/jenkins/workspace/$pathName/target/$project /opt/springboot/
echo "切换路径"
cd /opt/springboot/
 
pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "杀死存在进程"
fi
BUILD_ID=dontKillMe 
echo "执行"
nohup java -jar $project --spring.profiles.active=test > catalina.out  2>&1 &
echo "启动成功!"

如果在Windows下的编辑工具导致文件格式是dos下的,需要改成Unix执行以下命令

sed -i "s/\r//" start.sh

然后给start.sh授权

chmod +x start.sh

然后开始构建,接下来静静的等待即可。

Jenkins部署到远程服务器

新建一个虚拟机,这里你可以直接克隆一个。

需要安装 Publish Over SSH插件

进行全局下配置

Jenkins的安装与构建springboot项目_第13张图片

name------------随意取

hostname--------------你要运行服务的IP地址

username------------------登录的用户名

Remote Directory-----------要将打好的包发送到的位置

然后构建项目配置

Jenkins的安装与构建springboot项目_第14张图片

source file ----------源文件地址

remove prefix---------移除前缀

remote directory-----远程地址 ,加上前面那个配置 最终会发送到/opt/myjar这个文件下面

exec command ------执行脚本文件 这个需要放在要发布服务的那台机器上

脚本如下

project=jenkins.jar
echo "Stopping $project"
source /etc/profile
pid=`ps -ef | grep $project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "stop finish"
nohup java -jar /opt/myjar/$project --spring.profiles.active=test > catalina.out  2>&1 &
echo "start run....."

然后再重新构建,就可以了。

最后demo​​​​​​​地址,可以直接下载,或者自己建一个springboot项目都可以。注意,我的项目配置文件是在阿波罗配置中心配置的,如果不需要,请打开上面配置的注释,然后注释掉阿波罗的配置即可。

 

 

 

你可能感兴趣的:(Linux运维)