刚到新公司,这边居然是前端打包zip文件发给运维部署,感觉十分不方便,像我这种bug多的开发,需要经常部署一下的,为了不被运维打,搭一个jenkins自动化部署,记录一下过程。

大致过程就是,本地代码push到远程仓库,服务器端Jenkins上选择目标分支或tag进行构建,当然也可以监听push动作自动构建,执行构建任务,拉取代码,执行编译打包,将编译产物部署到web项目工作目录

一、服务器配置

1.安装java环境

sudo yum install java

查看版本号,若有版本号输出,表示安装成功

java -verson

2.安装git

sudo yum install git

查看版本号若有版本号输出,表示安装成功

git -version

安装 Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum -y install jenkins

启动Jenkins

service jenkins start

我们在浏览器输入http://服务器地址:8080就能访问到入门页面了,如果不能访问检查8080端口是否被占用

配置Jenkins权限
现在的 Jenkins如果执行shell脚本,还不具备相应权限。需要进行如下操作

sudo vim /etc/sysconfig/jenkins
#编辑状态中
JENKINS_USER="root"

之后,修改 Jenkins 相关文件夹用户权限

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

二、配置Jenkins

浏览器输入http://服务器地址:8080就能访问到入门页面, 按照提示将密码复制粘贴,点击继续

jenkins部署Android项目 jenkins 部署_jenkins

安装插件,直接下一步

jenkins部署Android项目 jenkins 部署_jenkins_02

安装完插件之后要创建用户,创建完成后点击保存并完成

jenkins部署Android项目 jenkins 部署_jenkins部署Android项目_03


点击开始使用

jenkins部署Android项目 jenkins 部署_jenkins_04


进入系统配置

jenkins部署Android项目 jenkins 部署_vue_05

选择插件管理

jenkins部署Android项目 jenkins 部署_jenkins_06


可选插件列表搜索nodejs 和Git Parameter,并安装

jenkins部署Android项目 jenkins 部署_jenkins_07


jenkins部署Android项目 jenkins 部署_jenkins部署Android项目_08

系统管理 ->全局工具配置 ->新增nodejs 或者填写你已经安装的服务器node路径

jenkins部署Android项目 jenkins 部署_自动化部署_09

如果是jenkins和网页服务器不在同一个服务器,还需要额外配置ssh

系统管理 ->插件管理>可选插件->Publish over SSH,我这里是已经安装了

jenkins部署Android项目 jenkins 部署_前端_10

系统管理 ->系统配置>填写目标服务器信息

jenkins部署Android项目 jenkins 部署_vue_11

创建第一个新任务

进入首页点击新建Item或者开始创建一个新任务,开始我们的第一步

jenkins部署Android项目 jenkins 部署_自动化部署_12


输入任务名,选择构建一个自由风格的软件项目

jenkins部署Android项目 jenkins 部署_自动化部署_13


我这里选择参数化构建过程,选择分支和tag选择, 每次手动构建,需安装Git Parameter,漏装找不到 Git参数

高级 -> 快速过滤也勾上,分支多的时候,搜索比较快找到目标

jenkins部署Android项目 jenkins 部署_前端_14

配置git仓库输入仓库地址 ,添加凭据,http的就填账号密码,ssh的就填写证书,没什么好说的,知道分支 填写我们的构建参数$TAG;

jenkins部署Android项目 jenkins 部署_自动化部署_15

构建环境选择我们配置的node12.4.0就行

jenkins部署Android项目 jenkins 部署_jenkins部署Android项目_16


构建命令

jenkins部署Android项目 jenkins 部署_vue_17

#!/bin/bash
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
npm run build
#如果是jenkins和服务器同在一个服务器 直接可以在这里 把文件cp到目标文件夹。
#\cp -r -a ./* /home/jenkins/test

不在同一个服务器 继续添加构建后操作

jenkins部署Android项目 jenkins 部署_前端_18


测试一下,选择分支开始构建

jenkins部署Android项目 jenkins 部署_vue_19

/var/www/ngadmin 目录下已经有文件了,构建成功

jenkins部署Android项目 jenkins 部署_vue_20


剩下配置ngnix服务相关,找运维or找教程。

@end