背景
1 | 客户有第三方供应商开发应用,所以不方便提供源码。 |
实现介绍
- SFTP:提供上传下载jar包功能
- Nexus:提供制品仓库功能
- Jenkins:pipeline流水线,CD发布应用
配置
SFTP、Nexus、Jenkins安装部分省略,可参考网上资料。
Nexus
创建仓库
1
2选择‘maven2(hosted)’类型的,其他配置按需设置。
可考虑开启 Allow redeploy,这样可针对同一个版本重新上传制品创建子用户
1
权限划分,每个用户只对应相关仓库权限
上传制品
1
一般上传有2种方式,nexus控制台上传、nexus api上传
Jenkins
安装插件
1
2
3
4Build With Parameters:参数化构建,提供构建参数
Nexus Artifact Uploader:上传制品到nexus仓库(利用api)
Maven Artifact ChoiceListProvider (Nexus):在构建时提供列表形式,以供拉取制品
Publish Over SSH:发布应用到目标服务器General部分
新建任务,选择流水线
1 | # 勾选参数化构建过程,选择 Extensible Choice |
参数化构建
Nexus插件配置
列出对应过滤jar包
1 | # 其余参数 |
- 流水线部分
1 | # 流水线内容如下 |
- 脚本内容
1 | # send_msg_weixin.sh,webhook方式发送告警至企业微信 |
1 | # deploy.sh 部署脚本 |
效果演示
- build
- 流水线
部署报错是没添加对应测试机SSH互信信息