无法在流水线作业中部署额外的包。

问题描述 投票:0回答:2

我在持续交付中使用一个nodejs App。最近我安装了一个包(puppeteer),由于它需要一些共享的lib(xlib)而无法启动。这个问题被记录在案(此处),我只需要安装额外的包。

所以我在我的 "BUILD "工作中添加了额外的行。

#!/bin/bash
npm install
sudo apt-get update
sudo apt-get install -y --fix-missing  libx11-6 libx11-xcb1 libxcb1 .......

它安装成功了(虽然有几个错误), 构建工作以成功结束. (6个升级,133个新安装,0个要删除,55个没有升级。)但是当我在 "部署 "阶段启动应用程序时,文件仍然不见了!我是否正确安装了这个文件?

我安装的正确吗?

2020-05-20T08:27:03.83+0000 [APPPROCWEB0] ERR Unhandled Rejection at: 错误: 浏览器进程启动失败! 2020-05-20T08:27:03.83+0000 [APPPROCWEB0] ERR homevcapdeps0node_modulespuppeteer.local-chromiumlinux-756035chrome-linuxchrome:加载共享库时出错:libX11-xcb.so.1:无法打开共享对象文件。没有这样的文件或目录

ibm-cloud continuous-delivery
2个回答
0
投票

你可能想在我们的公共Slack.Self注册中直接讨论这个问题,这里。https:/ic-devops-slack-invite.us-south.devops.cloud.ibm.com。然后在这里提出您的问题 https:/ibm-devops-services.slack.com。

我怀疑你应该在你的package.json中添加缺失的依赖关系。


0
投票

很抱歉听到注册不成功的消息。https:/ic-devops-slack-invite.us-south.devops.cloud.ibm.com。把你的电子邮件地址和得到你的邀请。

你应该会收到一封电子邮件来注册--选择一个你喜欢的密码。

总之,我会尽快检查你的问题。


0
投票

1 - 确保puppeteer的依赖关系没有任何错误地安装。你写道 "It installs successfully (couple of errors though) "和 "55 not upgraded".可能是依赖关系没有完全安装或没有达到要求的水平。

2 - 正如之前的评论中所建议的那样,你使用的是管道的基本映像,你可能想要构建并使用你自己的自定义映像,一个符合你所有前提条件的映像。https:/cloud.ibm.comdocsContinuousDelivery?topic=ContinuousDelivery-custom_docker_images。


0
投票

好了,解决了。data_Henrik从一开始就是对的。

我在上面的部署工作中所做的是无用的。它不是什么将被部署与APP。

取而代之的是,你需要部署 "多构建包",其中包括(对于我的APP)标准的nodejs构建包和一个专门用于安装debian依赖的构建包。https:/github.comcloudfoundryapt-buildpack)。.这里的例子。https:/ict.swisscom.ch201911no-root-access-no-debian-packages-oncloud-foundry-thats-past-with-theapt-buildpack。

因此,对于我的 nodejs 应用,它最终会有:1- 一个特定的 apt.yml 文件,其中包含了依赖列表(注意,我必须添加更多的例子,例如 libgbm-dev)2- 一个特定的 multi-buildpack.yml 文件,其中包含了 buildpacks 的列表。

就是这样。我运行通常的构建和部署工作... ...

© www.soinside.com 2019 - 2024. All rights reserved.