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将认证配置完成