如何在docker的jenkins中调用纱线命令?

如何在docker的jenkins中调用纱线命令?,docker,Docker,在CentOS终端中使用此命令安装纱线时: sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo # Install yarn yum install -y yarn “纱线”命令在终端中运行良好。但是,当在Docker的jenkins中运行Thread install命令时,Docker的jenkins检查出项目源代码compile react project之后,这是我的构建脚本:

在CentOS终端中使用此命令安装纱线时:

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
# Install yarn    
yum install -y yarn
“纱线”命令在终端中运行良好。但是,当在Docker的jenkins中运行Thread install命令时,Docker的jenkins检查出项目源代码compile react project之后,这是我的构建脚本:

yarn install 
yarn build
它抛出以下错误:

/bin/sh -xe /tmp/jenkins3735067167187767767.sh
+ yarn install
/tmp/jenkins3735067167187767767.sh: 2: /tmp/jenkins3735067167187767767.sh: yarn: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
当我不使用docker时,我知道它以用户jenkins的身份运行,但现在我无法切换到用户jenkins,因为它没有jenkins用户。如何修复它

Docker版本1.13.1,版本07f3374/1.13.1 节点版本:v10.15.3
纱线版本:v1.15.2

您的主机与docker容器隔离,因此无论您需要安装什么,都必须安装在容器内部,而不是实际主机上。如果您正在使用ubuntu映像,您需要在容器内或Dockerfile内执行以下步骤(如果您正在构建自己的映像)。请确保使用root用户执行以下步骤:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt update
apt install yarn

如果您刚刚开始学习docker,我建议您阅读以下教程,以更好地了解它的工作原理:

您是否添加了Thread repository以便使用yum进行安装?是的,我添加了Thread repo。@Mostafahusseinca是否可以添加您正在使用的步骤以便我们提供帮助?我添加了详细信息,这就是你需要的吗?@mostafahusseiny你的问题没有解释你是如何在docker中安装Thread的,你说你在主机内部安装Thread而不是docker,对吗?我现在使用npm,Thread aways有问题。但我知道docker应该独立于你的答案安装组件。是的,你是正确的,任何需要的包装都应该在容器内部