【填坑日记9】Jenkins
文章目录前言Jenkins能干嘛前言前面几篇文章下来,基本上一个web服务可以对外提供服务了,虽然现在啥都没有。那是后续的业务代码的编写问题了。现在还有一个问题,也就是说,在开发环境上编写和调试完成后,这个包如何方便快捷的放到服务器上,如果是集群的话,难道要一个一个的拷贝上去?显然不可能。而且,我们现在只有一个模块,如果web系统有N多个模块的话,我们需要手动的一个一个去npm build么?如果
前言
前面几篇文章下来,基本上一个web服务可以对外提供服务了,虽然现在啥都没有。那是后续的业务代码的编写问题了。
现在还有一个问题,也就是说,在开发环境上编写和调试完成后,这个包如何方便快捷的放到服务器上,如果是集群的话,难道要一个一个的拷贝上去?显然不可能。而且,我们现在只有一个模块,如果web系统有N多个模块的话,我们需要手动的一个一个去npm build么?如果有前后依赖关系的话,这个工作量不是一般的大。所以,这样我们就要用到部署的大杀器:Jenkins
Jenkins能干嘛
搬运百度百科的内容:
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
通俗的讲,我们可以用jenkins工具一键式的编译、构建、测试(自动化测试脚本)和部署(发布到配置好的环境)。一次配置,多次使用。
安装
直接安装
-
确认自己的操作系统版本:
lsb_release -a -
我的是Ubantu系统,参考Jenkins在Ubantu系统的安装
问题一:
安装之后,系统会将jenkins作为一个系统服务来启动。在我的服务器上出错了。使用:service jenkins status
来查看一下:
Jun 20 18:03:12 ecs-ec12-0004 systemd[1]: Starting LSB: Start Jenkins at boot time... Jun 20 18:03:12 ecs-ec12-0004 jenkins[14338]: ERROR: No Java executable found in current PATH: /bin:/usr/b Jun 20 18:03:12 ecs-ec12-0004 jenkins[14338]: If you actually have java installed on the system make sure Jun 20 18:03:12 ecs-ec12-0004 systemd[1]: jenkins.service: Control process exited, code=exited status=1 Jun 20 18:03:12 ecs-ec12-0004 systemd[1]: Failed to start LSB: Start Jenkins at boot time. Jun 20 18:03:12 ecs-ec12-0004 systemd[1]: jenkins.service: Unit entered failed state. Jun 20 18:03:12 ecs-ec12-0004 systemd[1]: jenkins.service: Failed with result 'exit-code'.
提示Failed to start LSB,这是因为jenkins会启动一个web容器对外提供服务,端口为8080,而我的服务器上启动了node,也是占用了8080,。所以,先停掉node就可以了。
查看下端口占用:netstat -nat
问题二:
还有一个问题是java环境设置的问题。
我的jdk安装在/usr/local/jdk中。
启动jenkins服务后报错:ERROR: No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin
我查了环境变量: PATH和JAVA_HOME都是设置正确的,没办法,只能设置一个软连接了:
ln -s /usr/local/jdk/bin/java /usr/bin/java
再启动,OK了。
接下来跟着配置指导一步一步设置就OK了。
还有一种办法就是使用war包进行部署,我懒的去试了,有兴趣的网上一搜一大把。
打包部署
-
下载nodejs插件:
首页 => Manage Jenkins => Manage Pllugins => 可选插件。
搜索 nodejs
立即安装
在 更新中心 可以查看进度 -
配置nodejs工具
首页 => Manage Jenkins => Global Tool Configuration -
配置的话,我搬运一篇文章过来:
jenkins详细配置
这里有一点需要注意下:
jenkins是把Git地址上的代码下载到本地,然后打包,所以需要先安装依赖包: npm install 然后再构建。
还有一些比如java, c++, python等代码的应该也可以依葫芦画瓢,后续有需要再搞吧。
发布到其他服务器
一般来说,现在很多应用都是基于集群的,那么一个组件肯定是打包之后需要发布到其他环境的(带着不同的配置文件),我们可以在“构建后操作”中来做这个事情。
- 安装插件:SSH Publishers
安装后就可以在任务的配置界面的"构建后操作"里多了一个新的选项:
选择后就可以填写一些内容了
这里的SSH Server是下拉框,先需要在 系统管理 => 系统设置 => Publish over SSH里进行设置:
点击高级,选择Use password,输入密码
配置完之后就这个样子:
source file: 以项目的根目录为根目录的相对路径
remote directory: 以SSH Server配置的remote directory为根目录的相对路径
妥了,直接就可以把打包之后的dist发送到相应的web服务器了。
更多推荐
所有评论(0)