01.CI/CD:Jenkins pipeline 小教程-编写第一个pipeline

此Blog不会系统的去讲解Pipeline,只会列举一些小例子。,在这里面也有不对的地放,需要您来指正,当收到留言或在QQ群839421316中有反馈,也会及时进行修改更正。

Jenkins 的部署方式这里没有写,也默信你当前已经安装上了Jenkins。

1. 创建Pipeline任务

在创建Jenkins任务时,选择Pipeline,如下图:
在这里插入图片描述

创建完成后,会进入到任务编译页面:
在这里插入图片描述

接下来的工作,就会在这个红色的框中进行。

2. 测试一下

在"try sample pipeline"中,选择一个小例子:
在这里插入图片描述

node {
   echo 'Hello World'
}

点击保存,然后运行一下:

在这里插入图片描述

正常打印。

看下这个报错 Started by user Devops CRD Running in Durability level: MAX_SURVIVABILITY [Pipeline] Start of Pipeline [Pipeline] echo Original Release Version: 3 [Pipeline] node Running on Jenkins in /root/.jenkins/workspace/video-analysis-algorithm-pipeline [Pipeline] { [Pipeline] withEnv [Pipeline] { [Pipeline] timestamps [Pipeline] { [Pipeline] stage [Pipeline] { (Sync Up Release) [Pipeline] echo 19:14:57 Sync up video-analysis-algorithm release ... [Pipeline] script [Pipeline] { [Pipeline] echo 19:14:57 CLOUD:azure [Pipeline] echo 19:14:57 Major Deploy Version: 1.10.22 [Pipeline] sh 19:14:57 + helm3 registry login prdtplinkhelmchartzau1.azurecr.io -u bee8c203-08f1-4e0c-9799-a729a7fbfdd7 -p xWy8Q~Kdn~7ayTJL54lMJmyOdmiJVYc8zUksvaE2 19:14:57 WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config 19:14:57 WARNING: Using --password via the CLI is insecure. Use --password-stdin. 19:15:00 Login Succeeded [Pipeline] sh 19:15:00 + helm3 show chart oci://prdtplinkhelmchartzau1.azurecr.io/video-analysis-algorithm --version 1.10.22 19:15:00 WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config [Pipeline] sh 19:15:03 + cat ./temp 19:15:03 + grep appVersion 19:15:03 + head -1 19:15:03 + cut -d : -f 2 [Pipeline] echo 19:15:03 RELEASE_VERSION: 1.10.22 [Pipeline] echo 19:15:03 Latest Release Version: 1.10.22 [Pipeline] } [Pipeline] // script [Pipeline] echo 19:15:03 Creating build directories ... [Pipeline] sh 19:15:03 + mkdir ./build-3 [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Authorization) Stage "Authorization" skipped due to when conditional [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Promote Stage) [Pipeline] input 19:15:03 Promote to azure.uat-v2.azure-brazil-1? 19:15:03 Proceed or Abort 19:15:10 Approved by Devops CRD [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Deploy Stage) [Pipeline] echo 19:15:11 Deploying video-analysis-algorithm Release v1.10.22 to azure.uat-v2.azure-brazil-1 ... [Pipeline] dir 19:15:11 Running in /root/.jenkins/workspace/video-analysis-algorithm-pipeline/build-3 [Pipeline] { [Pipeline] script [Pipeline] { [Pipeline] sh 19:15:11 + git ls-remote ssh://cicdtplinknbu@pdgerrit.tp-link.com:29418/tplinknbu/devops_cicd feature/20251110-tapocare-ai 19:15:11 + cut -f1 [Pipeline] echo 19:15:11 commit id: 2706169fa15101f001dfd146d48f61f657c8d7ef [Pipeline] sh 19:15:11 + rm -rf devops_cicd 19:15:11 + mkdir devops_cicd [Pipeline] sh 19:15:11 + git clone --depth 1 -b feature/20251110-tapocare-ai ssh://cicdtplinknbu@pdgerrit.tp-link.com:29418/tplinknbu/devops_cicd 19:15:11 Cloning into 'devops_cicd'... 19:15:13 Total 26483 (delta 8660), reused 21568 (delta 8660) 19:15:15 Updating files: 79% (15074/18954) Updating files: 80% (15164/18954) Updating files: 81% (15353/18954) Updating files: 82% (15543/18954) Updating files: 83% (15732/18954) Updating files: 84% (15922/18954) Updating files: 85% (16111/18954) Updating files: 86% (16301/18954) Updating files: 87% (16490/18954) Updating files: 88% (16680/18954) Updating files: 89% (16870/18954) Updating files: 90% (17059/18954) Updating files: 91% (17249/18954) Updating files: 92% (17438/18954) Updating files: 93% (17628/18954) Updating files: 94% (17817/18954) Updating files: 95% (18007/18954) Updating files: 96% (18196/18954) Updating files: 97% (18386/18954) Updating files: 98% (18575/18954) Updating files: 99% (18765/18954) Updating files: 100% (18954/18954) Updating files: 100% (18954/18954), done. [Pipeline] sh 19:15:15 + rm -rf k8s-values 19:15:15 + mkdir k8s-values [Pipeline] sh 19:15:15 + cp -rf ./devops_cicd/k8s-values/video-analysis-algorithm ./k8s-values/ [Pipeline] sh 19:15:15 + rm -rf ./devops_cicd [Pipeline] echo 19:15:16 ENV_FOLDER_NAME:azure-pet [Pipeline] echo 19:15:16 deploy() begins... [Pipeline] sh 19:15:16 + yq read ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/values.yaml app.namespace [Pipeline] sh 19:15:16 + kubectl get deployment -n pet-app-ipc --context azure.uat-v2.azure-brazil-1 19:15:18 No resources found. [Pipeline] sh 19:15:18 + grep -E video-analysis-algorithm-[0-9]+(\.[0-9,a-z,A-Z]+)+(-[a-z,A-Z]+)* 19:15:18 + cat ./temp 19:15:18 + cut -d -f 1 [Pipeline] echo 19:15:18 PREVIOUS_DEPLOY: [Pipeline] echo 19:15:18 azure-pet PREVIOUS_VER: [Pipeline] echo 19:15:18 Deploying to azure-pet: azure-brazil-1 [Pipeline] sh 19:15:19 + [ -d ./k8s-values/video-analysis-algorithm/azure-pet ] 19:15:19 + echo true [Pipeline] sh 19:15:19 + [ -d ./k8s-values/video-analysis-algorithm/global ] 19:15:19 + echo true [Pipeline] sh 19:15:19 + [ -d ./k8s-values/video-analysis-algorithm/azure-pet/common ] 19:15:19 + echo true [Pipeline] sh 19:15:20 + [ -d ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/config ] 19:15:20 + echo true [Pipeline] sh 19:15:20 + kubectl create configmap video-analysis-algorithm-azure-pet-azure-brazil-1-tmp-config --from-file=./k8s-values/video-analysis-algorithm/global --from-file=./k8s-values/video-analysis-algorithm/azure-pet/common --from-file=./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/config --dry-run -o=yaml [Pipeline] sh 19:15:20 + yq read video-analysis-algorithm-azure-pet-azure-brazil-1-tmp.yaml data [Pipeline] sh 19:15:20 + yq prefix -i video-analysis-algorithm-azure-pet-azure-brazil-1-config-map-data.yaml configMap.data [Pipeline] sh 19:15:21 + [ -d ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1 ] 19:15:21 + echo true [Pipeline] sh 19:15:21 + echo NEW_RELEASE_NAME video-analysis-algorithm-1.10.22 19:15:21 NEW_RELEASE_NAME video-analysis-algorithm-1.10.22 [Pipeline] sh 19:15:21 + helm list --namespace pet-app-ipc --kube-context azure.uat-v2.azure-brazil-1 [Pipeline] sh 19:15:23 + cat ./temp 19:15:23 + grep video-analysis-algorithm 19:15:23 + head -1 19:15:23 + cut -f 1 [Pipeline] sh 19:15:24 + echo networking init 19:15:24 networking init [Pipeline] sh 19:15:24 + kubectl apply -f ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/networking/service.yaml --context azure.uat-v2.azure-brazil-1 19:15:27 service/video-analysis-algorithm-zbr1 created [Pipeline] sh 19:15:27 + kubectl apply -f ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/networking/istio.yaml --context azure.uat-v2.azure-brazil-1 19:15:30 gateway.networking.istio.io/video-analysis-algorithm-zbr1-gw created 19:15:32 virtualservice.networking.istio.io/video-analysis-algorithm-zbr1-vs created 19:15:32 virtualservice.networking.istio.io/video-analysis-algorithm-internal-zbr1-vs created 19:15:33 gateway.networking.istio.io/video-analysis-algorithm-internal-grpc-zbr1-gw created 19:15:34 virtualservice.networking.istio.io/video-analysis-algorithm-internal-grpc-zbr1-vs created [Pipeline] sh 19:15:34 + echo networking init successfully 19:15:34 networking init successfully [Pipeline] sh 19:15:34 + echo networking init successfully 19:15:34 networking init successfully [Pipeline] sh 19:15:35 + AWS_DEFAULT_REGION=ap-southeast-1 AWS_PROFILE=uat helm3 upgrade --install video-analysis-algorithm-1.10.22 oci://prdtplinkhelmchartzau1.azurecr.io/video-analysis-algorithm --version 1.10.22 --values ./k8s-values/video-analysis-algorithm/azure-pet/azure-brazil-1/values.yaml --values video-analysis-algorithm-azure-pet-azure-brazil-1-config-map-data.yaml --namespace pet-app-ipc --kube-context azure.uat-v2.azure-brazil-1 --timeout 1200s --wait 19:15:35 WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config 19:15:37 Release "video-analysis-algorithm-1.10.22" does not exist. Installing it now. 19:15:51 W1117 19:15:51.108993 2395101 warnings.go:70] metadata.name: this is used in Pod names and hostnames, which can result in surprising behavior; a DNS label is recommended: [must not contain dots] 19:35:58 Error: Get "https://uat-k8s-nbu-zbr1-dns-3wzszvat.hcp.brazilsouth.azmk8s.io:443/apis/apps/v1/namespaces/pet-app-ipc/deployments/video-analysis-algorithm-1.10.22": context deadline exceeded [Pipeline] } [Pipeline] // script [Pipeline] } [Pipeline] // dir [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Blue-Green Release) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] stage [Pipeline] { (Promote To BLUE-GREEN-ALL) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Deploy To BLUE-GREEN-ALL) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (SCALE-DOWN-BLUE) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Promote To BLUE-GREEN-END) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Deploy To BLUE-GREEN-END) Stage "Blue-Green Release" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Test stage) Stage "Test stage" skipped due to earlier failure(s) [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // timestamps [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline ERROR: script returned exit code 1 Finished: FAILURE
最新发布
11-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值