epa*_*015 5 sudo jenkins docker
我正在创建一个 Jenkins 管道,它使用 CentOS 创建自己的容器,agent { dockerfile true }然后使用以下命令调用自定义脚本:
pipeline {
agent { dockerfile true }
stages {
stage('Build') {
steps {
sh 'whoami'
sh 'printenv'
sh './rpmBuild.sh'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后问题是,当使用 sudo 调用任何命令失败时,它会给出sudo: unknown uid xxx: who are you?
gle*_*and -3
在容器内,您需要拥有包含 jenkins 用户的 passwd、group 和 sudoers 文件。jenkins 用户需要设置为无密码 sudo ( %jenkins ALL=(ALL) NOPASSWD: ALL)。
一种方法是正确设置主机的 jenkins 帐户,然后运行 docker:
docker run -v /etc/group:/etc/group:ro -v /etc/passwd:/etc/passwd:ro -v /etc/shadow:/etc/shadow:ro -v /etc/sudoers.d:/etc/sudoers.d:ro ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5068 次 |
| 最近记录: |