- 安装Nginx服务器
yum install epel-release
//安装
yum -y install nginx
//查看安装目录路径
whereis nginx
- 修改nginx的端口(查看端口占用情况命令:lsof -i:端口),默认80,改为81:
vi /etc/nginx/nginx.conf
server {
listen 81 default_server;
listen [::]:81 default_server;
server_name _;
root /usr/share/nginx/html;
- 关闭selinux(根据自身情况决定是否关闭),将SELINUX=disabled
setenforce 0 先临时关闭
vi /etc/selinux/config 编辑文件,永久关闭 SELINUX=disabled
- 启动Nginx
systemctl enable nginx 设置开机启动
systemctl start nginx 启动
systemctl stop nginx 停止
systemctl restart nginx 重启
- 访问:http://ip:81
- Jenkins 安装NodeJs插件
- Jenkins配置Nginx服务器
Manage Jenkins->Global Tool Configuration
配置安装的NodeJs版本
如果自动安装无法选择版本插件,则可以考虑在服务器主机上安装,然后在这里配置路径
- 创建前端项目流水线任务
- 新建流水先任务
- 配置分支参数
- 凭证配置
- 选择预先配置好的凭证,并拿到凭证ID
- 编写流水线执行脚本
//gitlab的凭证
def git_auth = ""
node {
stage('拉取代码') {
checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']],
doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: "${git_auth}", url:
'git@ip:xx.git']]])
}
stage('打包,部署网站') {
//使用NodeJS的npm进行打包
nodejs('nodejs12'){
sh '''
npm install
npm run build
'''
}
//=====以下为远程调用进行项目部署========
sshPublisher(publishers: [sshPublisherDesc(configName: 'master_server',transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '',execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes:false, patternSeparator: '[, ]+', remoteDirectory: '/usr/share/nginx/html',remoteDirectorySDF: false, removePrefix: 'dist', sourceFiles: 'dist/**')],usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
变量参数说明:
- git_auth :凭证配置中拿到的凭证ID
- ${branch} :配置分支参数
- remoteDirectory :Nginx远程发布目录
- configName:预先在Jenkins全局配置中配置好的发布的服务器
查看Nginx远程发布目录
vim /etc/nginx/nginx.conf