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

时间:2019-03-17 09:22:56

标签: docker

当我在CentOS终端中使用此命令安装yarn时:

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
# Install yarn    
yum install -y yarn

yarn命令在终端中完美运行。但是,当在Docker的Jenkins中运行yarn install命令时(在Docker的jenkins chekcout项目源代码之后,编译react项目),这是我的构建脚本:

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

1 个答案:

答案 0 :(得分:1)

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

//@ts-ignore
import * as something from 'file1';

如果您刚刚开始使用docker,建议您阅读以下教程,以更好地了解其工作原理:https://docs.docker.com/get-started/