- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的简单项目中使用 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/
我正在尝试使用 sudo 作为另一个用户执行 screen。 我正在使用命令: echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin
我在我的简单项目中使用 gitlab-ci。 一切正常,我的运行者正在我的本地机器(ubuntu18-04)上工作,我用简单的 .gitlab-ci.yml 对其进行了测试。 现在我尝试使用以下 ym
我真的很难在终端周围找到我的头,我不断收到找不到命令的命令,我做错了什么? 我正在尝试使用本教程在 mac 上安装 ruby。 http://www.ruby-lang.org/en/downlo
我已经在系统上安装了minikube,并且minikube start符合我的预期。当我想使用本地docker镜像并因此尝试运行sudo eval $(minikube docker-env)时。 这
我目前正尝试在我的 iMac 上运行 postgresql (9.3),但我遇到了一些与用户 postgres 和 psql 连接有关的问题。 我买了一台迁移到 Lion 的 iMac 老一代(带有雪
我最近卸载了 Xcode 4.2 并重新安装了 Xcode 4.3.1。命令行工具已安装。然后,我使用来自 macports.org 的 Lion 的“dmg”磁盘镜像安装了 MacPort。因为,每
运行 sudo -i 我最终在我的 Linux 机器上得到了一个 root shell。 但是阅读 -i 选项时它说: -i, --login Run the sh
无法执行shell脚本,收到错误 我写的shell脚本通过ssh连接到远程服务器并执行命令。 sudo: no tty present and no askpass program specified
我有雪豹,它显然预装了带有 pear 的 php。我启用了 php 但找不到任何 PEAR 的迹象。所以我已经安装了它,现在 phpinfo() 显示了它的安装 include_path .:/usr
我想让 sudo python 找到 Python 3。 我遇到了一个奇怪的问题,在终端中输入 python --version 得到了 3.6,但是 sudo python --version 得到
您好,我创建了一个批处理文件(run.bat),执行后该文件在plink的帮助下将我连接到UNIX服务器。但问题从此时开始,我必须在连接到服务器后执行一个脚本,该脚本包含命令 sudo -l。执行后,
我最近在我的 Raspberry Pi 上安装了 Arch Linux,在以 root 身份登录并为自己创建一个用户帐户后,我尝试使用 sudo 命令。这是结果: [phillipus@alarmpi
当我运行时 sudo -u postgres psql 我明白了 sudo: psql: command not found 错误。我无法让它工作。 # locate psql /etc/altern
我正在尝试升级到最新版本的 Node 。我按照 http://davidwalsh.name/upgrade-nodejs 的说明进行操作。 但是当我这样做时: sudo npm install -g
我使用 CentOS 并安装了 pip 到 /usr/local/python-dir/bin/pip。我创建了 /usr/local/bin/pip 的链接。然后我执行sudo pip instal
我正在尝试使用 sudo 运行 docker-compose。 我在 Ubuntu 16.01 上安装了 docker 和 docker-compose。 由于尝试使用 curl 下载 compose
谁曾经尝试过学习本关于 Docker Swarm 的教程? https://docs.docker.com/get-started/part4/ 有一个部分叫做:创建集群。我想做的是使用 docker
我正在尝试使用此命令在 Ubuntu Mate 中添加一个存储库- sudo apt-get-repository "****************(repository name)" 但我有这个输
我在我的 Linux 笔记本电脑上安装了 docker.io 并做了一个 docker pull在 docker 网站上公开可用的容器上。 我正在尝试使用以下命令以交互方式运行它,但出现错误: sud
我正在使用 Shiny 服务器在亚马逊网络服务实例上运行 Shiny 应用程序。我想停止shiny-server以设置密码保护,但是当我遵循一个协议(protocol),要求输入sudo stopsh
我是一名优秀的程序员,十分优秀!