|
|
# jenkins pipeline
|
|
|
# jenkins pipeline 的介绍说明
|
|
|
对应的jenkins地址:http://jenkins.yohops.com/
|
|
|
|
|
|
现在支持的JOB类型如下:
|
|
|
```
|
|
|
Docker-GitHook-Build-Deploy
|
|
|
Docker-Image-Deplopy
|
|
|
Docker-Java-Build-Deploy
|
|
|
Docker-Node-Build
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## DOCKREE_NODE_BUILD
|
|
|
主要用于node的镜像的构建,其中涉及的流程为,测试环境构建镜像,
|
|
|
spinnaker部署测试环境,线上工单申请,提交对应的镜像信息即可。
|
|
|
|
|
|
## DOCKREE_NODE_BUILD 介绍
|
|
|
1. 主要用于node的镜像的构建,以及需要的项目的CDN上传,推送镜像到qcloud与aws。
|
|
|
2. 与spinnaker平台结合使用,地址:http://spinnaker.dev.yohocorp.com/
|
|
|
|
|
|
### JOB的参数介绍:
|
|
|
```
|
|
|
支持的参数:
|
|
|
string(name:'projectName', defaultValue: 'yoho-app-web', description: 'GITLAB应用名称')
|
...
|
...
|
@@ -15,14 +28,18 @@ string(name:'imageVersion', defaultValue: 'release-1.0-20181227144324', descript |
|
|
choice(name:'isNeedCdn',choices:'NO\nYES\n', description: '是否需要上传CDN')
|
|
|
```
|
|
|
|
|
|
### 支持的项目:
|
|
|
支持项目 | 已支持
|
|
|
---|---
|
|
|
yohobuywap-node | 已支持
|
|
|
yohobuy-node | 待项目组开发
|
|
|
yoho-web-app | 已支持
|
|
|
ufo-web-app | 已支持
|
|
|
yohoblk-wap | 待项目组开发
|
|
|
yoho-activity-platform | 已支持
|
|
|
yoho-shop-manage | 已支持
|
|
|
|
|
|
> 特殊说明:
|
|
|
### pipeline特殊流程说明:
|
|
|
```groovy
|
|
|
stage('upload to CDN and nfs')中主要将文件上传CDN此处使用了qshell进行文件的上传
|
|
|
```
|
...
|
...
|
@@ -33,28 +50,71 @@ sh "cp -r ${repalceDir} /nfs-ops/Data/app/node-ci/data" |
|
|
|
|
|
|
|
|
## Docker-Image-Deplopy
|
|
|
主要用于所有镜像aws与qcloud发布,可以被jenkins调用,也可以被工单系统调用,适用于所有的容器部署的项目
|
|
|
主要用于所有镜像aws与qcloud发布,可以被jenkins调用,也可以被工单系统调用,适用于所有的容器部署的项目,现在容器的发布均采用此JOB来进行发布。
|
|
|
### 实现说明
|
|
|
qcloud主要采用腾讯云的api进行更新,其中有600s的等待check时间.
|
|
|
|
|
|
aws主要采用aws cli进行更新,其中有600s的等待check时间.
|
|
|
### 参数说明:
|
|
|
```
|
|
|
string(name:'callBack', defaultValue: 'noNeedCallBack', description: '回调服务地址')
|
|
|
choice(name:'clusterId',choices:'aws\nyoho-web-gray\nyoho-ops\nyoho-web\nyoho-media\n', description: '集群的信息')
|
|
|
string(name:'serviceName', defaultValue: 'yoho-app-web', description: '服务名称 ')
|
|
|
string(name:'containerName', defaultValue: 'yoho-app-web', description: '容器名称')
|
|
|
string(name:'imageInfo', defaultValue: 'yohobuy-core/yohobuywap-node:hotfix-share-20181221134254', description: '镜像版本')
|
|
|
choice(name:'deployEnv',choices:'aws\nqcloud\nall\n', description: '部署的集群信息')
|
|
|
### 实现说明
|
|
|
qcloud主要采用腾讯云的api进行更新,其中有600s的等待check时间.
|
|
|
aws主要采用aws cli进行更新,其中有600s的等待check时间.
|
|
|
```
|
|
|
### 支持的项目
|
|
|
现在aws容器只接受灰度的发布,原先的服务需要在项目中创建好,此JOB只是起到更新容器中镜像的作用,不会修改其中的其他配置信息。
|
|
|
|
|
|
## build
|
|
|
|
|
|
当前支持的应用:
|
|
|
## Docker-GitHook-Build-Deploy
|
|
|
主要用于项目的打包与发布构建,其中项目的根目录中需要存在docker.sh与Dockerfile文件。
|
|
|
> docker.sh
|
|
|
此文件会接受一个参数为:${workspace},以及构建的基础脚本。
|
|
|
|
|
|
## deploy
|
|
|
> Dockerfile
|
|
|
此文件用于构建对应的镜像描述。
|
|
|
### 参数说明:
|
|
|
```
|
|
|
string(name:'callBack', defaultValue: 'noNeedCallBack', description: '回调服务地址')
|
|
|
choice(name:'clusterId',choices:'aws\nyoho-web-gray\nyoho-ops\nyoho-web\nyoho-media\n', description: '集群的信息')
|
|
|
string(name:'projectName', defaultValue: 'yoho-api-doc', description: 'GITLAB应用名称')
|
|
|
string(name:'projectGitGroup', defaultValue: 'fe', description: 'GITLAB所在的组')
|
|
|
string(name:'deployName', defaultValue: 'yoho-api-doc', description: '应用名称')
|
|
|
string(name:'userMail', defaultValue: 'jimi.ji@yoho.cn', description: '触发的人员邮箱')
|
|
|
string(name:'imageSource', defaultValue: 'yoho-ops', description: '镜像存储的仓库')
|
|
|
string(name:'branch', defaultValue: 'master', description: 'git分支名称')
|
|
|
```
|
|
|
### 支持的项目
|
|
|
只要项目中存在docker.sh与Dockerfile,即可以完成对应的部署,可以适配于GITHOOK与工单平台的调用。
|
|
|
|
|
|
|
|
|
## Docker-Java-Build-Deploy
|
|
|
此JOB主要适用于现阶段JAVA打包替换,需要在git中http://git.yoho.cn/yohoops/auto_deploy_docker,存在对应的配置文件
|
|
|
```
|
|
|
string(name:'callBack', defaultValue: 'noNeedCallBack', description: '回调服务地址')
|
|
|
choice(name:'clusterId',choices:'aws\nyoho-media\nyoho-ops\nyoho-web\nyoho-web-gray', description: '集群的信息')
|
|
|
string(name:'projectName', defaultValue: 'yoho-now', description: 'GITLAB应用名称')
|
|
|
string(name:'projectGitGroup', defaultValue: 'YOHONow', description: 'GITLAB所在的组')
|
|
|
string(name:'deployName', defaultValue: 'java-yoho-now', description: '应用名称')
|
|
|
string(name:'branch', defaultValue: 'master', description: 'git分支名称')
|
|
|
string(name:'userMail', defaultValue: 'jimi.ji@yoho.cn', description: '触发的人员名单')
|
|
|
choice(name:'nodeEnv',choices:'yoho-gray\nyoho-online\n', description: '选择环境')
|
|
|
string(name:'imageSource', defaultValue: 'yoho-ops', description: '镜像存储的仓库')
|
|
|
```
|
|
|
### 支持的项目
|
|
|
支持项目 | 已支持
|
|
|
---|---
|
|
|
yoho-now | 已支持
|
|
|
yohonow-platform | 已支持
|
|
|
yohomars-platform | 已支持
|
|
|
yohomars-search-service | 已支持
|
|
|
|
|
|
当前支持应用:
|
|
|
|
|
|
|
|
|
|
|
|
## 预置条件
|
|
|
## jenkins节点预置条件
|
|
|
### master 节点
|
|
|
基础键安装:
|
|
|
java,maven,node,docker,aws cli,python,git,qshell
|
...
|
...
|
|