前序
在大前端时代下的前端工程师,再也不是一个简简单单写下页面,拿到UI图,画画页面布局等简单的操作了,相反各种各样的业务需求,服务器知识,前端工程化,项目部署等扑面而来。而针对于部署的知识,对于笔者而言,之前的操作都是装一个Xshell和Winscp工具,然后要学习相关的linux命令,在了解相关的nginx操作,然后每一次项目进行更新迭代,推送到服务器,进入服务器,进行行云流水的阿巴阿巴的操作~~~,Over!一切搞定
但是这种操作,会显得十分的笨重且繁琐,因为一旦团队里面的人不会操作服务器或者没有服务器权限,就需要服务器操作的人,时时刻刻等待发布命令,搞得身心憔悴!!!所以自动化部署就显得非常的重要了,真是佩服前人的""偷懒"程度!哈哈哈。那么我们现在开始学习吧!
Jenkins,CI
Jenkins是一个开源软件项目,是基于Java]开发的一种持续集成(CI)工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
CI(Continuous integration)中文意思是持续集成)是一种软件开发时间,对于开发来说每天要提交多次代码发布于主干上,会做一些重复性的动作时,就可以用持续集成环境来操作。
安装
操作系统:centos
本篇文章所需要安装的软件有:nginx,Jenkins,pm2,nodejs
我们这里重点主要将Jenkins,Jenkins的安装文章在网络上成千上万篇(当前度娘提供的都是千篇一律的,同志们需要注意了)这里就不介绍怎么安装Jenkins了。接下来介绍主要安装的相对应的git插件,推送服务器后的shell脚本命令操作
Jenkins默认的启动端口都是8080,根据网络上提供安装操作,安装完成后,直接在网络上访问http://xx.xx.xx.xx:8080
第一次启动相对来说会比较慢,希望各位鸡友耐心等待一哈~,然后根据指导,进行一系列的安装步骤我们就可以看到我们的页面了!!
新建一个项目
点击创建一个新任务,或者左边导航中,新建一个item
任务名称:可以自己随便输入,取一个代表当前项目的服务名字就行,然后我们选择Freestyle project(任务版)
配置git分支建设
这里是项目的描述等等,我们在这里新增新增一个git分支构建,因为我们的项目在开发过程中肯定有很多分支的,所以这里选择git参数的配置,如果没有这个选择,文章后面会补上相对应的插件
这里,名称我们可以定义成git_branch,下面会用到,描述的话随便填写,然后参数类型选择分支,默认值填写为:origin/master
接下来到我们的源代码管理,因为项目搭配的gitee仓库,所以,我们把URL填写成我们的gitee源码地址
git地址例如:https://gitee.com/xxx.git
Credentials:登陆权限,这里点击添加凭证后,输入我们登陆gitee的账号密码就行
配置源码管理
填写完后,如果还提示git ls-remote -h xxxx等问题,可以往后面看插件配置
配置构建环境
构建触发器和构建环境可以根据项目本身进行配置,这里配置Nuxt项目,不需要执行相关操作
配置构建命令
接下来构建过所需执行的shell命令,这里我们就可以愉快的写在日常开发过程中所执行的命令,比如笔者的是Nuxt项目,所以需要进行一下shell命令
#!/bin/bash -ilex
. /etc/profile
cd /home/web/nuxtpc/
rm -rf *
cd /var/lib/jenkins/workspace/test
echo $PATH
source /etc/profile
node -v
npm -v
npm install
npm run build
ls
复制代码
项目构建完成后所需要执行的命令,用户笔者遇到一个大坑!!如果你用pm2配置jenkins来启动项目的话,一定要记得这个地方,千千万要加一个构建完成后的命令执行,因为nodejs执行完命令后,会默认把pm2执行的进程,直接关闭!!!这个好坑啊!
配置构建后操作
上面SSH Sever中所需要选择服务,在后面内容会补上~~
在Exex command执行写入如下代码
cd /var/lib/jenkins/workspace/test # 回到项目目录
pm2 delete -s "nuxtpc"
pm2 start npm --name "nuxtpc" -- run start
pm2 list
复制代码
然后点击保存~~,愉快的Over!我们的第一个Project新增完成了。接下来我们愉快的构建我们的项目了 !
插件管理
回到我们的Jenkins首页,步骤如下
进行相关的插件安装,栗子中,需要安装相对应的git插件,
git选择分支打包:Git Parameter
推送远程服务器后执行:Publish Over SSH
有个别的继承Jenkins没有带git,所以在使用的时候,记得安装一下git
SSH Sever服务配置
点击新增:
Passphrase:如果私钥设置了密码就是私钥的密码,私钥没设置密码可以不填
Path to key:私钥的位置
Key:私钥的内容。如果此处填入了值,则以此处的值为准,会忽略掉Path to key的配置
SSH Servers:服务器的配置
Name:名称(自定义)
Hostname:服务器地址
Username:用户名
Remote Directory:默认远程服务器的地址 (这个地址必须远程服务器真实存在的!!!)
注意:在配置上述内容时,要首先在jenkins服务器上生成私钥,然后将公钥推送到服务器上。
点击高级,输入服务器密码
再点击测试链接:
如果成功了,那么恭喜了!一步到位!!Over!
我是godlike,每周一篇小技巧,一起快速入坑,希望能在前端道路上,和你努力,一起共勉!