Centos7 安装Jenkins及部署前后端应用到服务器

Posted 诺浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 安装Jenkins及部署前后端应用到服务器相关的知识,希望对你有一定的参考价值。

一、安装Jenkins

# 1、下载镜像仓库jenkins.repo
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate

# 2、下载jenkins.io.key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

# 3、yum下载安装依赖和jenkins
yum install epel-release
yum install java-11-openjdk-devel  ## jenkins-2.360-1.1 版本需要使用jdk11里的运行时环境
yum install jenkins

# 4、设置配置文件端口号
vim /etc/sysconfig/jenkins #修改8080为自己想要的端口号

# 5、设置Jenkins账号的权限,否则启动可能报错
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
chown -R jenkins:jenkins /var/cache/jenkins

# 6、启动
systemctl start jenkins

# 7、设置开机自启
systemctl enable jenkins

# 8、访问
http://ip:port

# 9、查看默认密码并登录
/var/lib/jenkins/secrets/initialAdminPassword

第6步启动时可能报错

尝试用以下命令启动

cd /etc/init.d
./jenkins start


报错java版本不符,此时需要安装JDK11,并切换运行时的版本

yum install java-11-openjdk-devel
# 切换java运行时版本
alternatives --config java 

二、设置中文

需要安装两个插件

1、Locale plugin
2、Localization: Chinese (Simplified)

安装好重启后进行如下设置后再次重启,应该就会变成中文。这部分可以看这篇文章

三、有哪些插件需要安装

这部分因人而异,首先就是把官方推荐的插件安装一遍,下面列出的是我用到了的

  1. Locale plugin # 设置语言
  2. Maven Integration plugin # Maven打包
  3. NodeJS Plugin # 前端打包需要
  4. Publish Over SSH # 打包好后可以把包发送至服务器
  5. gogs # 类似git

四、设置插件

1、设置JDK、Maven、Nodejs的环境
关于这边版本的选择要注意一下,maven建议选择3.6+版本,我用的3.0打包某些项目会报错。nodejs建议选择14的版本,不要选择到16更高,会报错。
安装node14命令

sudo yum -y install curl
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
node -v

这边插件可以自动安装,也可以手动安装好后再来这里设置安装的home.


Maven、Nodejs与JDK类似,本处略过

二、设置SSH服务器

点击高级再勾选红框中的就可以使用密码登录

五、如何部署一个后端项目

1、创建项目点选Maven项目
2、设置丢弃旧的构建已节约服务器资源,按需设置

3、设置代码路径
4、写Maven构建脚本
5、设置发送到服务器,并调用服务器的Dockerfile部署项目
Name: 选择我们前面配置的SSH服务器
Source files: 选择我们打包出来的jar包,这里的路径需要特别注意,写的是相对路径,且当前所在目录为项目中,怎么理解呢?比如有个springboot项目叫test,maven打包出来的jar叫test.jar,那么这里直接写target\\test.jar。我这里之所以不是直接以target开头,而是还写了个yrtcloud-gateway是因为我这个是maven多模块项目,yrtcloud-gateway是一个子模块
Remove prefix: 移除前缀
Remote directory: copy到远程服务器的哪个目录
Exec command:执行的命令
其脚本如下,脚本的内容为先停止上次的容器并移除容器和镜像,然后调用服务器的dockerfile进行打包并启动操作

docker stop yrtcloud-gateway
sleep 1
docker rm -f yrtcloud-gateway
sleep 1
docker rmi yrtcloud-gateway
sleep 1
cd /home/docker/yrtcloud/gateway
docker build -t yrtcloud-gateway .
sleep 3
docker run -d --name yrtcloud-gateway -v /etc/localtime:/etc/localtime:ro -v /home/logs/yrtcloud-gateway:/usr/src/myapp/logs -p 0.0.0.0:8082:8082 yrtcloud-gateway

此时服务器的资源如下

Dockerfile内容如下

FROM anapsix/alpine-java:8_jdk
WORKDIR /usr/src/myapp
COPY . /usr/src/myapp
EXPOSE 8082
CMD ["java", "-jar","-Duser.timezone=GMT+8","-Dspring.profiles.active=dev","yrtcloud-gateway.jar"]

六、如何部署一个前端项目

1、丢弃构建及获取源码部分可以与前面小节后端部署的一致
2、选择构建环境为node,需要安装node并在jenkins中配置

3、执行打包操作,这部分命令因人而异

脚本如下

npm config set registry https://registry.npm.taobao.org/
npm ci
npm run build:prod

4、发送到服务器nginx目录下

七、时区问题

默认jenkins的时间与中国大陆时间差了15个小时,需要设置一下
设置方式:http://www.manongjc.com/detail/50-gsyvfzjchlgvrcl.html

以上是关于Centos7 安装Jenkins及部署前后端应用到服务器的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 安装Jenkins及部署前后端应用到服务器

CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示

CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示

CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示

CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示

jenkins部署jeecg-boot3.1(前后端)自动化