我有一個使用 curl 的腳本,該腳本應該在 Jenkins 上的 Kubernetes 代理中運行。這是我原來的代理配置:
pipeline {
agent {
kubernetes {
customWorkspace 'ng-cleaner'
yaml """
kind: Pod
metadata:
spec:
imagePullSecrets:
- name: jenkins-docker
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: agentpool
operator: In
values:
- build
schedulerName: default-scheduler
tolerations:
- key: type
operator: Equal
value: jenkins
effect: NoSchedule
containers:
- name: jnlp
env:
- name: CONTAINER_ENV_VAR
value: jnlp
- name: build
image: tixartifactory-docker.jfrog.io/baseimages/helm:helm3.2.1-helm2.16.2-kubectl.0
ttyEnabled: true
command:
- cat
tty: true
"""
}
}
錯誤訊息是“curl .... /home/jenkins/agent/ng-cleaner@tmp/durable-0d154ecf/script.sh: 2: curl: not found”
我嘗試了什么:
- 向主“構建”容器添加了外殼步驟:外殼:sh“apk add --no-cache curl”,還嘗試了“apt install curl”-沒有幫助
- 添加了帶有 curl 影像的新容器:-名稱:curl 影像:curlimages/curl:7.83.1 ttyEnabled:true tty:true 命令:-cat-也沒有幫助
關于如何使它作業的任何建議?
uj5u.com熱心網友回復:
我解決了。需要將 shell 步驟添加到主容器:
shell: sh "apk add --no-cache curl"
然后將我的腳本放在容器塊中:
stages {
stage('MyStage') {
steps {
container('build'){
script {
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/496905.html
標籤:码头工人 Kubernetes 詹金斯 卷曲 脚本
