jenkins个人理解@TOC
jdk与jenkins环境安装略过不谈,参考官网文档
jenkins环境
git+jenkins服务器(dotnet环境+supversior)+linux部署环境(php composer环境+dotnet环境)
linux项目服务器使用ssh-key免密登录存储
所需插件
- Publish Over SSH ssh链接插件
- Git Parameter Plug-In 获取git tag列表插件
- nodejs插件 对vue插件进行编译
- Git plugin git插件
ssh服务器配置
点击系统管理——>系统配置
选择Publish over SSH中的SSH Servers进行配置
- SSH Server Name: 服务器别名(建议使用非中文表示,中文存在json_encode会转化成ASCII编码)
- Hostname:linux 服务器IP地址
- Username:linux账号
- Remote Directory服务器项目路径
- Prot:linux ssh端口
- Use password authentication,or use a different key 勾选使用sshkey进行配置
- path to key jenkins服务器的sshkey的位置
nodejs配置
点击系统管理——>全局工具配置
点击新增NodeJS(可以同时多版本存在)
- 别名 node版本的别名
- 勾选自动安装 系统自动安装NODEJS
- 选择nodejs版本
git账号配置
点击我的视图——>新建视图——>凭据——>Jenkins——>全局凭据下拉框(添加凭据)
- 类型 Username with password 使用账号密码
- 范围 全局(Jenkins,nodes,items,all child item,etc) 全局使用
- 用户名 git账号用户名
- 密码 git账号的密码
新建任务
根据tag进行发布项目或者进行回滚
####. 参数化构建过程
- 添加选项参数
1.1. 名称 mode 环境变量参数
1.2. 选项 deploy rollback 构建时下拉列表deploy为构建 rollback为回滚
1.3. 描述 deploy 部署 rollback 回滚 对于选项的描述 - 添加字符参数
2.1. 名称 branch 分支参数
2.2. 默认值 master git上的分支
2.3. 描述 中文描述 - git参数
3.1 名称 tags 参数名变量定义
3.2 描述对于回滚的描述
3.3 参数类型 标签 变量使用于git的tag标签
3.4 默认值 master 所属的分支
源码管理
- git git项目
1.2. Repository URL git项目的链接(建议使用https链接)
1.3. Credentials git账号
1.4. Name origin 源头
2.Branch to build
2.1指定分支 $tags 读取构建过程中的tags变量
同步到项目服务器
在构建后操作选择 Send build artifacts over SSH (此操作为在jenkins服务器上执行完所有的构建命令后开始进行远程同步)
- Name 选择对应的远程服务器名称
- Verbose output in console 勾选上代表会将ssh之后在项目服务器上执行的操作过程与结果显示到项目构建历史中的控制台输出中
- Source files ** (*代表只进行项目根目录中的文件拷贝,不拷贝文件夹与文件夹下中的文件 代表文件夹与项目根目录中的文件与文件夹中的除忽略以外的所有文件都进行拷贝例如vue项目可以写成 dist/ 代表只拷贝dist文件下的所有文件)
- Remove prefix (去除拷贝后的文件目录,以vue项目为例,只拷贝build之后的dist中的文件拷贝到项目服务器若不填写Remove prefix则会将dist页放到项目服务器文件目录后的生成dist文件夹并拷贝到其中,若添加则不会生成dist文件夹)
- Remote directory (项目服务器的文件路径,会拼接项目服务器配置的基础路径)
- Exec command(在项目服务器上执行名,此命令在项目服务器的根目录上执行,若需要执行项目操作则需要先进入对应的项目目录后开始执行)
nodejs项目
在构建环境中勾选 Provide Node & npm bin/ folder to PATH
- NodeJS Installation 选择对应项目的node版本
在构建选择执行shell命令(此命令默认为在项目文件夹中执行命令,对应linux命令执行命令的账号为jenkins)
构建项目
点击构建项目后则会显示下拉框选择为部署项目还是进行项目回滚,branch分支为配置中默认填写的分支 tags为git仓库中的tag标签,操作时若不选中tags进行部署则为拉取最新代码进行构建,若选择tags则构建置tags版本下的代码,rollback必须选择tags才可进行项目回滚