我的目标是创建一个管道,其中每个阶段都具有相同的代理,除了 1 个阶段(下面示例中的阶段 E)
pipeline {
agent {
dockerfile {
filename 'Dockerfile.tester'
args '-v $HOME/.docker:/root/.docker'
}
}
stages {
stage('A') { ... }
stage('B') { ... }
stage('C') { ... }
stage('D') { ... }
stage('E') {
agent {
dockerfile {
filename 'Dockerfile.deploy'
args '-v $HOME/.docker:/root/.docker'
}
}
}
stage('F') { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我可以做的是将代理全局设置为 none,然后Dockerfile.tester为每个阶段设置代理,并为其他 1 个阶段设置代理Dockerfile.deploy。知道如何全局设置一次然后覆盖它吗?
如果我像上面那样做,就会出现新的错误:
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://bitbucket.org/*********/*********.git # timeout=10
Cleaning workspace
> git rev-parse --verify HEAD # timeout=10
Resetting working tree
> git reset --hard # timeout=10
> git clean -fdx # timeout=10
Fetching without tags
Fetching upstream changes from https://bitbucket.org/*********/*********.git
> git --version # timeout=10
using GIT_ASKPASS to set credentials BitBucket Login for checkout / pushing
> git fetch --no-tags --progress https://bitbucket.org/*********/********.git +refs/heads/dev:refs/remotes/origin/dev
Checking out Revision ab0d4a522d872a129f53a74f6ecadafb8fd82f11 (dev)
> git config core.sparsecheckout # timeout=10
> git checkout -f ab0d4a522d872a129f53a74f6ecadafb8fd82f11
Commit message: "chore: test"
Cleaning workspace
> git rev-parse --verify HEAD # timeout=10
Resetting working tree
> git reset --hard # timeout=10
> git clean -fdx # timeout=10
[Bitbucket] Notifying commit build result
docker login failed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |