gpt4 book ai didi

docker - 须藤:找不到命令| gitlab-ci

转载 作者:行者123 更新时间:2023-12-04 15:07:42 26 4
gpt4 key购买 nike

我在我的简单项目中使用 gitlab-ci。
一切正常,我的运行者正在我的本地机器(ubuntu18-04)上工作,我用简单的 .gitlab-ci.yml 对其进行了测试。
现在我尝试使用以下 yml:

image: ubuntu:18.04 

build-job:
stage: build
script:
- echo "Hello, $GITLAB_USER_LOGIN!"
- sudo apt-get update
但我收到以下错误:
/bin/bash: line 110: sudo: command not found
我怎样才能使用 sudo?

最佳答案

您不必担心更新 Gitlab CI 管道作业中使用的 Ubuntu 镜像,因为当作业完成时,docker 容器会被销毁。此外,docker 镜像经常更新。如果你看 ubuntu:18.04的 docker hub 页面,2 天前刚刚更新:https://hub.docker.com/_/ubuntu?tab=tags&page=1&ordering=last_updated
由于您正在此处进行更新,因此我假设接下来您可能想要安装一些软件包。这样做是可能的,但不建议这样做,因为您运行的每个管道都必须安装这些包,这确实会减慢它们的速度。相反,您可以基于父镜像创建自定义 docker 镜像并以这种方式对其进行自定义。然后,您可以将该 docker 镜像上传到 docker hub、Gitlab 的注册表(如果使用自托管 Gitlab,则必须由管理员启用),或者构建在您所有的 gitlab-runners 上。
这是一个愚蠢的例子:

# .../custom_ubuntu:18.04/Dockerfile
FROM ubuntu:18.04
RUN apt-get install git
接下来你可以构建镜像: docker build /path/to/directory/that/has/dockerfile ,标记它,以便您可以在管道配置文件中引用它: docker tag aaaaafffff59 my_org/custom_ubuntu:18.04 .然后,如果需要,您可以上传标记的图像 docker push my_org/custom_ubuntu:18.04 .
在您的 .gitlab-ci.yml文件,请引用此自定义 Ubuntu 镜像:
image: my_org/custom_ubuntu:18.04 

build-job:
stage: build
script:
- echo "Hello, $GITLAB_USER_LOGIN!"
- git --version # ensures the package you need is available
您可以在此处阅读有关在 Gitlab CI 中使用自定义图像的更多信息: https://docs.gitlab.com/charts/advanced/custom-images/

关于docker - 须藤:找不到命令| gitlab-ci,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com