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' } } } } }