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和端口号 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐