首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Gitlab Docker内部版本:在.gitlab-ci.yml中调用shell命令

Gitlab Docker内部版本:在.gitlab-ci.yml中调用shell命令
EN

Stack Overflow用户
提问于 2019-05-21 04:14:32
回答 1查看 287关注 0票数 2

我正在尝试在.gitlab-ci.yml中调用外壳命令,它的相关部分是:

image: docker:latest
services:
  - docker:dind

stages:
  - build
  - deploy

...

build:
  stage: build
  script:
    - apt-get update -y
    - GIT_TAG=$(git tag | tail -1)
    - GIT_TAG=$(/usr/bin/git tag | tail -1)
    - docker ...

但是,前三个shell命令调用都失败了,都出现了"command not found“错误。git命令失败真的很奇怪,因为在开始script部分之前,它必须首先获得git代码库。也就是说,我可以看到git正在工作,但我自己就是不能使用它。

有没有办法让它工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 05:14:18

您可以看到git在不同的步骤中工作,因为GitLab可能在另一个容器中执行此操作。它们让你的容器保持干净,所以你必须自己安装依赖项。

由于您使用的镜像是基于Alpine的,因此安装git的命令是:

apk add --no-cache git

如果你所需要的只是git信息,你也可以跳过整个过程,使用predefined environment variables$CI_COMMIT_TAG将包含标记,而$CI_COMMIT_SHA将包含提交散列。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56227593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档