1.安装java环境
jenkins是基于Java开发的持续集成工具,所以必须安装java环境
移出旧版本JDK
yum remove -y `yum list installed | grep java | awk '{print $1}'`
yum remove -y `yum list installed | grep jdk | awk '{print $1}'`
安装JDK1.8所有相关依赖
yum install -y java-1.8.0-openjdk*
设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
2.安装maven
下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz
解压
tar xf apache-maven-3.8.1-bin.tar.gz -C /usr/local/mvn3
设置环境变量
export M2_HOME=/usr/local/maven3 export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
3.安装jenkins
首先安装yum-fastestmirror插件,它会自动选择最快的yum源,节约漫长的下载时间
yum install yum-fastestmirror -y
添加jenkins源
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum clean all && yum makecache 安装jenkins yum -y install jenkins 启动jenkins systemctl start jenkins
4.初次打开jenkins
如果到这里没问题的话,就应该能打开jenkins页面了,输入http://(你的ip或者域名):8080就能看到如下

插件安装选择推荐插件




插件安装完成以后将会创建管理员账户


安装完成:


5.安装常用插件
设置Jenkins,安装插件:Pipeline Maven Integration、Maven Integration、Publish Over SSH、Gitee、Kubernetes、Kubernetes Continuous Deploy、Kubernetes Client API、
Kubernetes Credentials




6.全局工具配置







7.配置kubernetes






[root@master01 .kube]# ls
cache config http-cache
[root@master01 .kube]# pwd
/root/.kube
[root@master01 .kube]# cat config


kubectl create serviceaccount hansl -n hantest kubectl create clusterrolebinding hansl --clusterrole=cluster-admin --serviceaccount=hantest:hansl kubectl -n hantest describe secrets $(kubectl -n hantest get secret | grep hansl | awk '{print $1}') kubectl -n hantest get secret | grep hansl | awk '{print $1}' kubectl get secret hansl-token-7vqrc -oyaml -n hantest




添加凭据kubeconfig类型(pipeline中kubeconfigId使用)


8.创建构建任务

方法一
按照这个方法由于版本原因报错(指定1.0.0版本可用)

pipeline { agent any stages { stage('重新部署cyl-erp-web') { steps('wget') { sh 'rm -rf nginx.yaml' sh 'wget https://hansl.coding.net/p/hansl/d/hantest/git/raw/master/nginx.yaml' sh 'cat nginx.yaml' } } stage('部署nginx'){ steps { kubernetesDeploy(kubeconfigId: 'k8s', configs: 'nginx.yaml') } } } }
高版本报错

这个插件的这个版本最好使!!! Kubernetes CD to version 1.0
升级到高级 在使用中会报错
原因不明,但是版本降低到1.0就可以执行成功
方法二
用证书去生成连接k8s的kubeconfig,如下图
点击下面的generate pieline script 就会生成部署的语句


pipeline { agent any stages { stage('重新部署cyl-erp-web') { steps('wget') { sh 'rm -rf nginx.yaml' sh 'wget https://hansl.coding.net/p/hansl/d/hantest/git/raw/master/nginx.yaml' sh 'cat nginx.yaml' } } stage('部署nginx'){ steps('wget') { kubeconfig(caCertificate: '''-----BEGIN CERTIFICATE----- MIICyDCCAbCgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl cm5ldGVzMB4XDTIxMDMyNTAwNTM0NVoXDTMxMDMyMzAwNTM0NVowFTETMBEGA1UE AxMKa3ViZXJuZXRlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANnz L2nv5wofXJCeVRVRUFNKkBLEQkBl65ZMpcBmVNiaFSgdJ05E9VWLc7jGQVRMrnmV QR298eQtQStfnbSF4mH4keXAjLR9d0RrJ1yXsrMwpao5k9r+3h9RbtNwsmPnYKCO 2bHy1dezC6BZgVyuR7F2CNSokklSA7x6ekmcqNvGjjq+XbDbepZyajnz9vRDDoIm t+oLjSJ9S/VKyIOIXJEf1AkFjkGNPGIl6/GGPzlU8aO3bBQurzbxkO94quizwbjZ SAGJSp8syp2Zsn58S732wN6S552U9wfF+aBV03LK+NiDD6nWT8hjqPE+QkOyIXcG fstSkNMmz0vmLrWCP60CAwEAAaMjMCEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB /wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBACqOHgCn/7crvda1xHk2eoCqUWvK Tj0ow0tF7+8UZWFmNXW/pHU0kK+rHr1kxPclOVe59+EUpVPPCtEIFMfEXnCXR1eJ 7MggmIq9CbN9MeZ4Eh3YYUA2AXKP5fHulM7VNcFdzcLHqFi4xvLyUWo4yhzDsIbp pICoUkELotBfFb9RTZim3YbHdSwEOC8Qoma4ilZf7Pc5X8qPhGpkgoF3DT+yeuB8 hHmOdCRTdJm9T39J6Y+I4ylJRoZZAcishmU2n1DBX6pMIL0U7AAErsi/JjmL10It /DC+0cZw6udNbzhMyEaGndrmhlUgi2pDYf3P9mqwMgpxEfxuOvtoI80dSKM= -----END CERTIFICATE-----''', credentialsId: 'hansl-token-7vqrc', serverUrl: 'https://10.0.254.101:8443') { // some block sh 'kubectl apply -f nginx.yaml' } } } } }