Name Last Update
.idea Loading commit data...
Docker-GitHook-Build-Deploy Loading commit data...
Docker-Image-Deplopy Loading commit data...
Docker-Java-Build-Deploy Loading commit data...
Docker-Node-Build Loading commit data...
.gitignore Loading commit data...
jenkins-pipeline.iml Loading commit data...
readme.md Loading commit data...

jenkins pipeline

DOCKREE_NODE_BUILD

主要用于node的镜像的构建,其中涉及的流程为,测试环境构建镜像, spinnaker部署测试环境,线上工单申请,提交对应的镜像信息即可。

支持的参数:
string(name:'projectName', defaultValue: 'yoho-app-web', description: 'GITLAB应用名称')
string(name:'projectGitGroup', defaultValue: 'fe', description: 'GITLAB所在的组')
string(name:'projectBranch', defaultValue: 'release/1.0', description: 'git分支名称')
string(name:'deployName', defaultValue: 'yoho-app-web', description: '应用名称')
string(name:'imageSource', defaultValue: 'yoho-online', description: '镜像存储的仓库')
string(name:'imageVersion', defaultValue: 'release-1.0-20181227144324', description: '镜像存储的版本')
choice(name:'isNeedCdn',choices:'NO\nYES\n', description: '是否需要上传CDN')
支持项目 已支持
yohobuywap-node 已支持
yohobuy-node 待项目组开发
yoho-web-app 已支持
ufo-web-app 已支持

特殊说明:

stage('upload to CDN and nfs')中主要将文件上传CDN此处使用了qshell进行文件的上传
sh "cp -r ${repalceDir} /nfs-ops/Data/app/node-ci/data"
此处使用了NFS盘(10.66.16.3),与yoho-ops集群中yoho-apm-dashboard服务共享。

Docker-Image-Deplopy

主要用于所有镜像aws与qcloud发布,可以被jenkins调用,也可以被工单系统调用,适用于所有的容器部署的项目

参数说明:

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时间.

build

当前支持的应用:

deploy

当前支持应用:

预置条件

master 节点

基础键安装: java,maven,node,docker,aws cli,python,git,qshell JAVA

[root@VM_102_17_centos ~]# java  -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

MAVEN

[root@VM_102_17_centos ~]# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /home/soft/apache-maven-3.3.9
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /opt/jdk1.8.0_65/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-123.el7.x86_64", arch: "amd64", family: "unix"

DOCKER

[root@VM_102_17_centos ~]# docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      88a4867/1.12.6
 Built:           Mon Jul  3 16:02:02 2017
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      88a4867/1.12.6
 Built:           Mon Jul  3 16:02:02 2017
 OS/Arch:         linux/amd64

AWS CLI

#如果您已经有 pip 和支持的 Python 版本,则可以使用以下命令安装 AWS CLI:
$ pip install awscli --upgrade --user
[root@VM_102_17_centos ~]# aws --version
aws-cli/1.16.81 Python/2.7.15 Linux/3.10.0-123.el7.x86_64 botocore/1.12.71
#需要使用AWS账户来认证后即可使用
$ aws configure

NODE

[root@VM_102_17_centos ~]# node -v
v10.3.0

Python

下载的版本为:Python-2.7.15
1.下载python2.7.x

wget https://www.python.org/ftp/python/2.7.x/Python-2.7.x.tgz

2.解压并编译安装

tar -zxvf Python-2.7.x.tgz && cd Python-2.7.x && ./configure && make all && make install && make clean  && make distclean 

3.检查安装

/usr/local/bin/python2.7 -V

需要配置环境变量,且jenkins中执行命令能够正常的使用。 git

[root@localhost ~]# git version
git version 2.9.5
同时需要配置密钥支持,ssh方式下载

qshell

[root@localhost qiniu]# qshell -v
QShell/v2.1.8 (linux; amd64; go1.9)
可参见七牛的帮助文本,需要根据ak与sk将认证配置完成