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)
安装好重启后进行如下设置后再次重启,应该就会变成中文。这部分可以看这篇文章
三、有哪些插件需要安装
这部分因人而异,首先就是把官方推荐的插件安装一遍,下面列出的是我用到了的
- Locale plugin # 设置语言
- Maven Integration plugin # Maven打包
- NodeJS Plugin # 前端打包需要
- Publish Over SSH # 打包好后可以把包发送至服务器
- 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/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示