Jenkins实现nodeJS项目持续部署和持续集成
我们在做个人小项目或者demo的时候会因为频繁的部署项目浪费大量时间,无论是版本迭代还是代码优化,哪怕就算你只是改了一行代码都要重新部署项目。不使用jenkins的时候:前端提交到代码到git/svn后端提交代码到git/svn人工手动打包整合前后端代码 放到服务器的指定位置运行使用jenkins的时候:前端/后端提交代码jenkins点击构建进行构建前端/后端 ,甚至可以通过钩子函数轮询或者定时
Jenkins实现nodeJS项目持续部署和持续集成
我们在做个人小项目或者demo的时候会因为频繁的部署项目浪费大量时间,无论是版本迭代还是代码优化,哪怕就算你只是改了一行代码都要重新部署项目。
不使用jenkins的时候:
- 前端提交到代码到git/svn 后端提交代码到git/svn
- 人工手动打包整合前后端代码 放到服务器的指定位置运行
使用jenkins的时候:
- 前端/后端提交代码
- 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,如果该端口被占用请自行修改
第一次启动会出现这个页面
在linux执行 cat /var/jenkins_home/secrets/initialAdminPassword 获得密码复制后输入密码框
Jenkins系统配制和用户安全相关的我就不啰嗦了,直接开始构建任务
- 构建任务
因为是前后端分离的项目所以需要构建两个jenkin任务
先构建前端的任务
- 进入首页点击构建任务 选择自由风格 点击确定
- general填不填都无所谓 要是勾选github项目的话输入你的github地址
3.源码管理就是 jenkins任务从哪里拉取源码 之后才有对代码打包部署一系列操作 这里选择git 输入git地址 点击添加输入用github的账号和密码 然后选择刚刚添加的账号 其它默认不用修改 注意*:这一步需要你的linux服务器已经安装了git
4.构建触发器 除了进入jenkin页面手动构建还可以通过触发器进行构建 这里使用token远程构建
在浏览器输入 http://39.101.203.37:9099/job/blob-front/build?token=front 就可以构建了 或者通过linux curl命令发送请求进行构建
-
构建环境 注意*:这一步需要你的linux已经安装了nodejs,jenkins里面安装nodejsplugin然后新增node插件path填你linux服务器的nodejs安装位置 如果上述步骤没有完成 下面选择环境时是不会出现node的
-
构建 通过shell脚本 进行装包 (npm install ),打包(npm run build),移动服务器指定位置
我这里是前端代码,每次构建都会执行一次shell脚本 将打包后的build复制/移动到服务器指定目录 这里cp命令使用了 -r 就是复制的时候重复的文件可以直接覆盖,一直保留最新的build代码 而后端nodejs是通过forever在服务器一直挂载 所以单独更新前端文件之后能直接生效,即打开网址就可以看到效果
后端代码也是一样的流程
更多推荐
所有评论(0)