Jenkins实现nodeJS项目持续部署和持续集成

Jenkins实现nodeJS项目持续部署和持续集成

我们在做个人小项目或者demo的时候会因为频繁的部署项目浪费大量时间,无论是版本迭代还是代码优化,哪怕就算你只是改了一行代码都要重新部署项目。

不使用jenkins的时候

  1. 前端提交到代码到git/svn 后端提交代码到git/svn
  2. 人工手动打包整合前后端代码 放到服务器的指定位置运行

使用jenkins的时候:

  1. 前端/后端提交代码
  2. jenkins点击构建进行 构建前端/后端 ,甚至可以通过钩子函数轮询或者定时构建 然后通过shell脚本进行前后端代码的整合(可以只发布前端或者只发布后端)

对比一下就是jenkins可以帮你省去第二步,开发人员只需要开发和提交代码

项目实战

  • 环境准备

jenkins需要依赖jdk 安装Jenkins之前请确保已经装好了jdk

  • 通过命令安装jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key //如果已经有 key 存在,请忽略。具体见官方 wiki
sudo yum install jenkins

  • 启动/关闭jenkins

service jenkins start/service jenkins stop

启动服务器之后输入http://39.101.203.37:8080/ (ip+8080)jenkin的默认端口是8080,如果该端口被占用请自行修改

第一次启动会出现这个页面

Jenkins实现nodeJS项目持续部署和持续集成_第1张图片

在linux执行 cat /var/jenkins_home/secrets/initialAdminPassword 获得密码复制后输入密码框

Jenkins系统配制和用户安全相关的我就不啰嗦了,直接开始构建任务

  • 构建任务

因为是前后端分离的项目所以需要构建两个jenkin任务

先构建前端的任务

Jenkins实现nodeJS项目持续部署和持续集成_第2张图片

  1. 进入首页点击构建任务 选择自由风格 点击确定

Jenkins实现nodeJS项目持续部署和持续集成_第3张图片

  1. general填不填都无所谓 要是勾选github项目的话输入你的github地址
    Jenkins实现nodeJS项目持续部署和持续集成_第4张图片

3.源码管理就是 jenkins任务从哪里拉取源码 之后才有对代码打包部署一系列操作 这里选择git 输入git地址 点击添加输入用github的账号和密码 然后选择刚刚添加的账号 其它默认不用修改 注意*:这一步需要你的linux服务器已经安装了gitJenkins实现nodeJS项目持续部署和持续集成_第5张图片

4.构建触发器 除了进入jenkin页面手动构建还可以通过触发器进行构建 这里使用token远程构建Jenkins实现nodeJS项目持续部署和持续集成_第6张图片

在浏览器输入 http://39.101.203.37:9099/job/blob-front/build?token=front 就可以构建了 或者通过linux curl命令发送请求进行构建

  1. 构建环境 注意*:这一步需要你的linux已经安装了nodejs,jenkins里面安装nodejsplugin然后新增node插件path填你linux服务器的nodejs安装位置 如果上述步骤没有完成 下面选择环境时是不会出现node的
    Jenkins实现nodeJS项目持续部署和持续集成_第7张图片

  2. 构建 通过shell脚本 进行装包 (npm install ),打包(npm run build),移动服务器指定位置
    Jenkins实现nodeJS项目持续部署和持续集成_第8张图片

我这里是前端代码,每次构建都会执行一次shell脚本 将打包后的build复制/移动到服务器指定目录 这里cp命令使用了 -r 就是复制的时候重复的文件可以直接覆盖,一直保留最新的build代码 而后端nodejs是通过forever在服务器一直挂载 所以单独更新前端文件之后能直接生效,即打开网址就可以看到效果

后端代码也是一样的流程

你可能感兴趣的:(持续集成系统,nodejs,linux,git,web)