Authored by jimi.ji

add readme

Showing 1 changed file with 74 additions and 14 deletions
# 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
... ...