Jenkins+Gitlab+docker自动化部署-前端

  1. 安装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
    在这里插入图片描述
  1. Jenkins 安装NodeJs插件

在这里插入图片描述

  1. Jenkins配置Nginx服务器
    Manage Jenkins->Global Tool Configuration
    在这里插入图片描述

配置安装的NodeJs版本
在这里插入图片描述
如果自动安装无法选择版本插件,则可以考虑在服务器主机上安装,然后在这里配置路径

  1. 创建前端项目流水线任务
  • 新建流水先任务
    在这里插入图片描述
  • 配置分支参数
    在这里插入图片描述
  • 凭证配置
    在这里插入图片描述
  • 选择预先配置好的凭证,并拿到凭证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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值