为NodeJS project或者Angular Project项目创建Jenkins Job

有两个方式建立NodeJS的项目的job

1. 不需要安装任何插件

1) 在Manage Jenkins -> Configurate System -> Global properties里面,勾选Environment variables,name填写PATH,value填写nodejs的安装目录C:\work\software\nodejs

2) 建立freestyle的job。

Source Code Management填写http方式的git url,credentials部分设置用户名和密码,Branches to build设置好要用的branch例如"*/develop"

Build部分选择Execute Windows batch command,内容填写npm install

3) 因为工程的node module有的要从公司内网的repository上下载,走proxy会报错,有的node module要从公司的外网下载,必须走proxy,所以工程的根目录下的.npmrc文件中,要设置好http-proxy,https-proxy,noproxy的值。noproxy的值是不需要走proxy的域名后缀,例如 ”.npmjs.com"。如果有多个域名需要排除,可以用都好分隔。

2. 需要安装插件NodeJS

1) NodeJS安装完毕之后,要去Manage Jenkins -> Global Tool Configuration里面的NodeJS项,设置系统中NodeJS的安装路径。例如C:\work\software\nodejs。不需要在Configurate System里设置PATH。

2) Job的config里面,Build Environment部分要勾选Provide Node & npm bin/folder to PATH。NodeJS Installation选择在Global Tool Configuration里面配置的nodejs。Build部分选择Execute Windows batch command,内容填写npm install

3) 项目的.npmrc和上一个配置方法一样。

真实线上应用使用docker image去做build。Docker的环境变量配置了no_proxy,和http_proxy, https_proxy,所以可以实现内网不走代理,外网走代理。这个和在npmrc里面设置noproxy一样的效果。

网上的帖子说,如果要让env里面设置no_proxy的生效,那么就必须同时设置proxy才行。

 例如:

"docker run --name=dockerName -e no_proxy="localhost,127.0.0.1,.xxxxxxxx.com" -e http_proxy="http://http.proxy.xxx.com:xxxx" -e https_proxy="http://http.proxy.xxx.com:xxxx" -t -d"

相关推荐