如何在Jenkins流水线中安装GitHub CLI?安装遇路径不存在报错
解决Jenkins流水线中安装GitHub CLI的报错问题
报错核心原因是/usr/share/keyrings目录不存在,部分精简版Debian/Ubuntu镜像(比如Jenkins常用的agent镜像)默认没有创建这个目录,导致dd无法写入GPG密钥文件。
修改原安装命令,先创建目标目录即可解决:
type -p curl >/dev/null || sudo apt install curl -y sudo mkdir -p /usr/share/keyrings curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -y
关键修改说明
- 添加
sudo mkdir -p /usr/share/keyrings:-p参数确保目录(包括多级父目录)被创建,若目录已存在则不会报错,适配不同环境。 - 其余命令保持官方文档原逻辑,确保密钥验证、源配置、安装流程正常执行。
额外注意:如果Jenkins流水线使用非root用户执行,需确保该用户拥有无需密码的sudo权限(可通过修改sudoers文件配置jenkins ALL=(ALL) NOPASSWD: ALL),避免安装过程中因需要输入密码中断。
内容的提问来源于stack exchange,提问作者Ali Khalifa
相关产品推荐
相关产品推荐

