Jenkins项目配置-Nodejs项目(Vue框架)-全面
Jenkins架构:第一步、新建任务-可以直接新建,也可以拷贝已有项目配置直接新建一个全新的项目:1)点击【新建任务】2)输入任务名称3)选择“构建一个自由风格的软件项目”4)点击【确定】,进入配置页面拷贝已有项目(新建项目后带有被复制项目的配置,再根据情况修改配置)1)点击【新建任务】2)输入任务名称3)复制处输入需要复制项目的名称,可下拉快捷选择4)点击【确定】,进入配置页面,此时配置页面带有
Jenkins架构:
第一步、新建任务-可以直接新建,也可以拷贝已有项目配置
- 直接新建一个全新的项目:
1)点击【新建任务】
2)输入任务名称
3)选择“构建一个自由风格的软件项目”
4)点击【确定】,进入配置页面
- 拷贝已有项目(新建项目后带有被复制项目的配置,再根据情况修改配置)
1)点击【新建任务】
2)输入任务名称
3)复制处输入需要复制项目的名称,可下拉快捷选择
4)点击【确定】,进入配置页面,此时配置页面带有复制的项目配置,根据本项目需要修改即可
第二步、修改配置
如果是新建任务,则直接进入配置页面修改配置;
如果是已有任务,则右上角查找项目名称,回车后进入此项目空间,左侧点击【配置】按钮,进入配置页面;或者是列表直接找到项目名称,点击项目名称进入此项目;
- 描述
- 纯文本,类似于备注,说明项目名称、前后端等等;
- 丢弃旧的构建-Discard old builds
- 配置build保留的次数与天数;发布包保留次数、天数
每次jenkins job执行build后,会在服务器上留下build记录及发布包,这些内容会占用磁盘空间;默认配置是不勾选Discard old builds的,此时默认值为365,显然这个值过大了;
Jenkins job在每次build结束后(无论成功还是失败),都会自动执行Discard old builds,释放磁盘空间;
因此根据磁盘空间来设置选项,如果磁盘空间充足,则均为15,如果磁盘空间不足,则均设置为3;当然也可根据实际需求来设置;
如下图配置也可:
其中“发布包保留天数”和“发布包最大保留”,这两个选项是通过 Discard old builds右下角【高级】按钮控制显示的;
以上内容转载及参考文章:删除Jenkins旧的构建来释放磁盘空间_我家小宝_朱朱的博客-CSDN博客_jenkins 删除builds
- 选择运行节点
- 如果需要选择此项目的运行节点时则选择,否则可以不选择
1、节点选项背景:jenkins安装在一台服务器上,如果所有的jobs均在此服务器上运行,当jobs运行太多时,会形成等待,为了提高效率,提出节点的概念:见本文开头的jenkins架构,jenkins安装的服务器被称为master机,其他服务器均被称为slave机,在master和slave上均可进行 job build;
如果打包过程中提示需npm update等,均需要远程对应的slave机器,slave机器的ip在jenkins配置中不可见,需要额外记录;
2、勾选“限制项目的运行节点”
标签表达式中填写节点名称或节点标签;
如果选择主节点,则填写主节点名称‘master’;(未验证填写主节点标签是否可以,本身主节点标签可以为空,此时如果想配置主节点,只能填写主节点名称)
如果选择slave节点,则填写从节点标签;(填写从节点名称报错,未查找原因)
如果已设置节点,可以查看或修改设置,点击右侧的【设置】按钮,进入设置界面(位置在 系统管理-节点管理):
如果未设置slave节点,需要先进行设置,位置为系统管理-节点管理
转载:jenkins配置slave节点 构建项目并执行操作 - 彩笔杀手 - 博客园
- 源码管理
- 源码仓库地址及账号
上图示例为SVN;
1)Repository URL:svn代码地址;
如果根据指定版本号的代码打包,则在svn路径后+@版本号
svn代码层级规则:前端代码,在本svn URL下,可见 src文件夹或package.json文件即可;
svn地址建议使用局域网地址,而非外网映射地址;
2) Credentials(证书):
下拉选择svn用户名,第一次增加时需要点击【添加】按钮进行添加;
选择或添加的用户名需要有本项目svn代码权限;
- Check-out Strategy
- 打包后对于workspace下的脚本生成策略
正常按以上选择即可;
以下为具体的选项:
具体见:Jenkins创建job时Check-out Strategy各个选项详细说明(含图)_russ44的博客-CSDN博客
- 构建环境
- 选择构建环境:nodejs版本
1)勾选“Provide Node & npm bin/ folder to PATH”
2)nodejs版本下拉选择,前提是需要在jenkins系统管理-全局工具配置中配置;同时此nodejs版本也需要与之前选择的“限制项目运行节点”相匹配;即此nodejs版本需要在此节点中存在;
3)具体选择哪个nodejs版本,可询问前端开发人员(一般可以比开发的版本高,但不是必须);
一般情况下,如果能够打包成功,选择低版本也可,除非开发人员表示存在特殊情况,必须使用某个版本;
4)nodejs配置:
系统管理-全局工具配置-NodeJS
别名:任意名称,建议同nodejs版本号,便于项目配置时选择;
安装目录:nodejs在打包服务器的安装目录;
- 构建
- 执行打包命令,打包,生成前端部署包dist
如果构建节点机器为windows,则如上图,选择“执行Windows批处理命令”
第一个命令:npm install 在构建节点的svn代码路径下安装依赖包,同本地打包;
第二个命令: npm run build 在构建节点的svn代码路径下打包,同本地打包;
当项目存在特殊情况时,以上打包命令可能有所不同,具体咨询前端开发人员;
JeecgBoot框架
1、以上两个命令分别为:
yarn install
yarn run build
2、需要在打包服务器中安装yarn
安装命令:npm install --global yarn
查看是否安装成功:yarn --version
3、其余与BDP框架相同
- 构建后操作
- 用于自动部署;如果需要自动部署,则配置此模块,否则不需要;
1)Name:选择需要自动部署的目标机器,名称需在jenkins系统管理-系统设置-Publish over SSH中提前配置;
2)Source files:打包后生成的前端文件目录;一般为“dist/”即可;【根据框架生成dist包所在文件夹配置,BDP框架为 dist/路径】
3)Remote prefix:Source files中移除此前缀路径后,剩余的前端包路径【BDP框架为空即可】;
4)Remote directory:自动部署的目标机器相对路径,是相对于jenkins系统管理中配置目标机器根路径的相对路径;
5)Exec command:自动部署所需命令;前面的几个配置是将打包后的dist文件放置在需要自动部署的目标机器的目标路径中;此处是放置前端后,需要执行的命令;
a)如果部署时只需要替换dist包,不需要执行任何命令,则此处为空;
b)如果部署时在替换dist包后,需要执行什么命令,都可以在此处编制
如cd 到前端包所在路径;(不确定是不是默认就在前端包所在路径下)
杀死之前的进程;
重新执行nginx命令;
当然以上两步可以通过执行shell或bat脚本来实现;这需要将restart.sh文件放置与前端包所在路径下;
6)jenkins配置自动部署机器:
位置:系统管理-系统配置-Publish over SSH(这应该是jenkins插件)
Name:任意,后续在项目配置时可下拉选择此名称;
Hostname:服务器ip;
Username:服务器账号;
Remote Directory:服务器的根目录,任意目录,建议为“/”;这样在项目配置填写路径时只需填写绝对路径即可;
- 邮件
- 用于发邮件,构建失败:E-mail Notification
E-mail Notification:只有构建失败时发邮件,构建失败后第一次成功也会发邮件;构建成功时则不会发邮件;
Recipients:邮件接收人邮箱地址,多个接收人以空格分隔;
- 构建后操作,用于发邮件,可配置何时发邮件、何人发邮件、以及其他配置:Editable E-mail Notification
Editable E-mail Notification
always:点击【Advanced Settings】--再点击【Add Trigger】--选择Always,根据情况配置;
如上图,将Always send to只保留了“Recipient List”,去掉了默认的“Developers”,将Failure-Any的“Developers”也删掉了(“Developers”不清楚在哪里配置)
“Recipient List”为上图红框部分;内容为 邮件接收人,多个邮件接收人,以空格分隔;
Project Recipient List:收件人列表采用默认配置,也可以自己主动配置
Project Reply-To List:项目恢复列表采用默认配置
Content Type:类型为默认HTML类型
Default Subject:默认标题模板,使用之前系统配置
Default Content:默认内容模板,使用之前系统配置
- 保存
点击页面最下方的“保存”,保存配置;
保存后即可进行构建,点击Build Now;
- 下载dist包
dist包位置:;
在项目空间,点击【工作区】,能查看到dist文件夹(打包后才生成此文件夹,打包过程中不显示);
点击dist,进入dist目录,点击【打包下载全部文件夹】
问题解决:
1、svn checkout不了
解决办法:通过 将jenkins配置的svn地址 从外网映射地址,修改为局域网地址,此问题自动修复;
2、JeecgBoot框架-有别与BDP的
1、安装依赖、打包命令分别如下(提前在打包服务器安装yarn)
yarn install
yarn run build
2、svn中的“.env.production”文件
将下方ip和端口号改为项目实际部署的ip和端口号
更多推荐
所有评论(0)