jdk+ant+node+jenkins持续构建
jdk+ant+node+jenkins持续构建
1 应用场景
项目的前端代码用node编译,后台代码用ant编译,分别在不同的机器上,需要将测试版本的构建弄成自动化。
2 准备工作
2.1 下载安装包
jdk安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
ant安装包下载地址:http://ant.apache.org/bindownload.cgi
node安装包下载地址:https://nodejs.org/en/download/
2.2 环境搭建
2.2.1 jdk安装及配置
第一步:解压jdk压缩包(jdk-8u101-linux-x64.tar.gz)
tar-zxvf jdk-8u101-linux-x64.tar.gz
第二步:将解压的文件放到其他目录,并改名字(不是必须的步骤)
mvjdk1.8.0_101 /usr/local/jdk1.8.0
第三步:配置环境变量
1)vi /etc/profile
2)按i,进入插入模式,增加如下四行内容
exportJAVA_HOME=/usr/local/jdk1.8.0
exportJRE_HOME=$JAVA_HOME/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH: $JAVA_HOME/bin
3)按Esc,退出插入模式,进入命令行模式
4)输入 :wq 保存并退出
5)使环境变量生效 source /etc/profile
6)检查安装是否成功 java –version ,出现java版本信息即成功。
2.2.2 ant安装及配置
第一步:解压ant压缩包(apache-ant-1.10.1-bin.tar.gz)
tar-zxvf apache-ant-1.10.1-bin.tar.gz
第二步:将解压的文件放到其他目录
mvapache-ant-1.10.1 /usr/local
第三步:配置环境变量
1)vi /etc/profile
2)按i,进入插入模式,增加ANT_HOME变量
export ANT_HOME=/usr/local/apache-ant-1.10.1
在 PATH变量后面追加 :$ANT_HOME/bin
3)按Esc,退出插入模式,进入命令行模式
4)输入 :wq 保存并退出
5)使环境变量生效 source /etc/profile
6)检查安装是否成功 ant –version ,出现ant版本信息即成功。
2.2.3 node安装及配置
(注意:tar.xz包要分两步进行解压,与tar.gz稍有不同)
第一步:将ant的.tar.xz 包解压成tar包(node-v8.10.0-linux-x64.tar.xz)
xz -d node-v8.10.0-linux-x64.tar.xz
第二步:解压tar包
tar -xvf node-v8.10.0-linux-x64.tar
第二步:将解压的文件放到其他目录
mv node-v8.10.0-linux-x64 /usr/local/ node-v8.10.0
第三步:配置环境变量
1)vi /etc/profile
2)按i,进入插入模式,增加NODE_HOME变量
exportNODE_HOME=/usr/local/node- v8.10.0
在 PATH变量后面追加 :$NODE_HOME/bin
3)按Esc,退出插入模式,进入命令行模式
4)输入 :wq 保存并退出
5)使环境变量生效 source /etc/profile
6)检查安装是否成功 node –v ,出现node版本信息即成功
7)到项目路径下,执行npm install命令,安装程序的引用包。
3 操作步骤
3.1 新建节点
Jenkins->系统管理->管理节点,输入节点名称,点击OK,出现详细的配置信息如下。
如果账号特别多,且都没有描述就不好选择,所以再添加认证信息时,添加备注信息更好识别,如下。
节点配置完成,查看如下。
3.2 新建前端项目(node)
Jenkins->新建,新建项目。
3.2.1 General
项目名称可以随意取名,需要注意的是3.2.5节的Build File设置项与此有关联。
3.2.2 源码管理
账号如果没有,先点击右侧的Add按钮进行添加,然后在点击下拉按钮进行选择。
此处配置完成进行保存,进行构建,构建完成,则代码下载成功。
进入到项目路径下,本项目的路径为:/opt/jenkins/workspace/hchCloud_web,执行npm install,对模块进行安装,安装完成,可以看到该路径下多了一个文件夹node_modules,里面包含所有下载的模块。
3.2.3 构建触发器
3.2.4 构建环境
构建触发器和构建环境,此处可以忽略,根据实际情况确认此处是否需要相关配置。
3.2.5 构建
3.3 新建后端项目(ant)
Jenkins->新建,新建项目。
3.3.1 General
项目名称可以随意取名,需要注意的是3.3.5节的Build File设置项与此有关联。
3.3.2 源码管理
3.3.3 构建触发器
3.3.4 构建环境
构建触发器和构建环境,此处可以忽略,根据实际情况确认此处是否需要相关配置。
3.3.5 构建
4 遇到的问题
4.1 环境变量配置顺序
例如配置ant的环境变量,path中引用了ant_home,那么ant_home这个变量就要定义在path前面,如图。
4.2 节点处于离线状态
节点处于离线状态,如下,点击Launch agent。
4.3 git没有安装,代码下载失败
错误日志如下。
使用which git 命令,显示系统没有git变量。
使用 yum install git,在线安装git客户端,安装完成,再次使用which git,显示如下,再次运行,即可成功。
4.3 npm run build 报错
报错如下。
按照错误提示,去查看文件,显示应用的包找不到,大小写问题。
4.5 不同机器免密访问
在88机器上面生成公私钥。
密码登录:
生成公私**:
ssh-****** -t rsa
拷贝公钥到需要免密登录的机器上面:
ssh-copy-id -i~/.ssh/id_rsa.pub [email protected]0
举例:
此时登录88机器:将10.110.200.60这台机器的node_modules文件夹拷贝到本地的/opt/jenkins/workspace/hchCloud_web这个路径。