ubuntu - 如何在 gitlab CI 构建中仅安装 ssh?
问题描述
我想创建一个gitlab-ci
部署阶段,该阶段应该通过ssh
. 我的 ubuntu 镜像不包含 ssh,所以我必须安装它。
image: adoptopenjdk/maven-openjdk11
...
deploy:
stage: deploy
script:
- which ssh || (apt-get update -y && apt-get install -y ssh)
...
问题:因此我必须执行一个完整apt-get install
的,它将提取图像的所有最新更新。
结果:
Reading state information...
The following additional packages will be installed:
dbus dmsetup file gir1.2-glib-2.0 libapparmor1 libargon2-0 libbsd0 libcap2
libcryptsetup12 libdbus-1-3 libdevmapper1.02.1 libedit2
[...]
The following NEW packages will be installed:
dbus dmsetup file gir1.2-glib-2.0 libapparmor1 libargon2-0 libbsd0 libcap2
libcryptsetup12 libdbus-1-3 libdevmapper1.02.1 libedit2
[...]
这对于安装 ssh 客户端来说是没有必要的。问题:有没有办法只安装ssh
客户端而不需要任何操作系统更新?
解决方案
据我所知,apt-get update
将软件包列表更新为最新的,并且只apt-get install ssh
安装而不更新“操作系统”(我猜你正在使用基于 Docker 的运行器)。 ssh
您看到的额外包是 ssh 所需的依赖项。或者,请查看gitlab ci 文档
推荐阅读
- java - 从 Android 相机获取图像,将其存储在 sqlite 中并检索它
- google-ad-manager - 如何使用 Google IMA HTML5 播放纯音频广告
- arrays - 如何在 NIFI PutMongo 中使用 $push 和 $set 运算符
- django - 如何在 django 设置中将新的 unicode 代码点设置为我的语言以支持
- jinja2 - Jinja条件的盐
- reactjs - AAPT:在预期项目的位置找到标签 ID
- python - 计算 400K 嵌入之间的余弦距离/相似度
- c# - 我想在特定对象击中时中断特定进程
- sql - IF 列中第二行的值 = X 选择第二个
- wpf - 在 WPF 应用程序中调用 API 不起作用