如何在gitlab-ci脚本中执行git命令

2024-01-09

我想更改文件并在 gitlab-ci 管道内提交更改

我尝试在脚本中编写普通的 git 命令

script:
    - git clone [email protected] /cdn-cgi/l/email-protection
    - cd project file
    - touch test.txt
    - git config --global user.name "${GITLAB_USER_NAME}"
    - git config --global user.email "${GITLAB_USER_EMAIL}"
    - git add .
    - git commit -m "testing autocommit"
    - git push

我找不到命令 git 或类似的东西,我知道它与标签有关,但如果我尝试添加 git 标签,它会说没有活动的运行程序。有人知道如何在 gitlab-ci 上运行 git 命令吗?


首先你需要确保你可以实际使用git,所以要么在shell执行器位于具有git或使用docker执行器并使用具有git安装。

您将遇到的下一个问题是您无法推送到 Git(lab),因为您无法输入凭据。

所以解决方案是创建一个 ssh 密钥对并通过以下方式将 ssh 私钥加载到您的 CI 环境中CI/CD 变量 https://docs.gitlab.com/ee/ci/variables/,也给你添加对应的公钥你的 Gitlab) 帐户 https://docs.gitlab.com/ee/ssh/.

Source: https://about.gitlab.com/2017/11/02/automating-boring-git-operations-gitlab-ci/ https://about.gitlab.com/2017/11/02/automating-boring-git-operations-gitlab-ci/

Your .gitlab-ci.yml然后看起来像这样:

job-name:
  stage: touch
  before_script:
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    - eval $(ssh-agent -s)
    - ssh-add <(echo "$GIT_SSH_PRIV_KEY")
    - git config --global user.name "${GITLAB_USER_NAME}"
    - git config --global user.email "${GITLAB_USER_EMAIL}"
    - mkdir -p ~/.ssh
    - cat gitlab-known-hosts >> ~/.ssh/known_hosts
  script:
    - git clone [email protected] /cdn-cgi/l/email-protection
    - cd project file
    - touch test.txt
    - git add .
    - git commit -m "testing autocommit"
    - git push
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在gitlab-ci脚本中执行git命令 的相关文章

随机推荐

  • C++:按值将对象传递给同一类的成员函数

    我是 C 的初学者 刚刚开始学习 OOP 在下面的程序中 我添加了相同类的对象并显示了结果 但是 我无法理解这样一个事实 如果我按值将对象传递给函数 那么更改如何反映在调用函数中 这addNumbers 函数需要 Complex 类的两个对
  • 如何在test-cafe中使用数据发出post请求?

    我是 api 测试的初学者 我正在使用test cafe我已经写了测试来制作GET请求使用请求钩子工作正常 我能够获取数据 但是当我尝试制作时POST请求使用相同的请求钩子并且我在发出请求时无法发送数据 因为它需要是缓冲区类型 我无法将 J
  • 在 redux-observable 中编写和排序多个史诗

    我有一个问题不知道如何解决 我有两个史诗向 api 发出请求并更新商店 const mapSuccess actionType gt response gt type actionType SUCCESS payload response
  • 在单元测试中获取控制器的编译模板

    我有以下控制器 angular module app controller userList scope appRules function scope appRules scope isUserInRole function user r
  • 如何直接从 Rails 控制器返回 HTML?

    我的模型对象之一有一个 文本 列 其中包含网页的完整 HTML 我想编写一个控制器操作 它直接从控制器返回此 HTML 而不是像控制器上的其他操作一样通过 erb 模板传递它 我的第一个想法是将此操作放入一个新控制器中 并制作一个具有空布局
  • 带计数的堆叠条形图中 geom_text 的百分比

    我想要一个堆叠条形图 其中包含基于计数的百分比 我几乎达到了我想要的 但文本中的每个值都是 100 而不是真正的百分比 我认为我的代码中有一个小错误 但我找不到它 ggplot mtcars aes fill factor gear x f
  • 改进通过 JSON 将服务器数据库镜像到客户端数据库的过程?

    我有一个现成的适用于 iPad 的企业 非 AppStore 旧版 iOS 应用程序 我需要重构它 它是由另一位开发人员编写的 他是我当前工作的前任 该应用程序通过 JSON 从具有 MSSQL 数据库的服务器获取数据 数据库模式有大约 3
  • 交错?锁链?由一系列不同的delay()和duration()的d3转换寻址的单个DOM元素

    正如所解释的here http bost ocks org mike transition per element 您可以安排连续的转换驱动的属性值更改singleelement 使用transition transition 它创建一个新
  • 从另一个页面的代码隐藏中获取 ASP.Net 页面的 URL

    我试图从页面对象中找到确定页面 url 的方法 看来你只能获取当前上下文的路径 一个页面可以有多个 url 例如 我家里有一台服务器正在运行 并且该站点的 URL 根据我从何处查看而有所不同 当我在家时 我只使用内部服务器名称 这样流量就不
  • Java 9 中的 native2ascii 可执行文件发生了什么

    我正在尝试使用 java 9 编译我的应用程序 但它失败了 因为 native2ascii 可执行文件不存在 Java 9 中删除了吗 还有其他工具可以做同样的事情吗 是的 native2ascii 在 Java 9 中被删除了 错误报告以
  • 从 url 到 JSON 到 HTML

    我目前正在尝试学习 RESTful API 并将它们实现到用例中 我想做的一件事是将带有 json 有效负载的 url 从一台服务器加载到单独的 Web 服务器中 以在表上显示数据 我对此不太熟悉 所以我试图找到最好的方法来做到这一点 我正
  • 如何在C++中创建具有动态对齐要求的对象?

    C 中分配和使用具有动态指定对齐方式的缓冲区的正确方法是什么 我想到的用例是 Vulkan 动态统一缓冲区 请参阅上一个问题 https stackoverflow com q 45458918 9723177其中抽象地讨论了所需的过程 其
  • 如何在 JavaScript 中监听三次点击?

    如果这是双击 window addEventListener dblclick function event false 如何捕捉三次点击 这适用于 Google Chrome 中的固定选项卡 您需要编写自己的三次点击实现 因为不存在可以捕
  • 与 Sql Geometry 字段不同的棘手 sql

    我有一个与以下不兼容的sql语句Sql Geometry输入所以我正在尝试修改它以使其正常工作 它的基本要点是这样的 Select distinct A B C D SHAPE FROM TABLE1 UNION SELECT A B C
  • 如何在Python中按下某个键时停止程序?

    我有一个无限循环的程序 每 5 秒打印一次 程序正在运行 我想在按结束键时停止它 因此 我创建了一个按键侦听器 如果按下结束键 该侦听器将返回 false 如果我没有无限循环 那应该可行 即使我处于无限循环中 我也希望它能够工作 这是我的代
  • TabControl / TabPanel / TabItem 的 WPF 样式

    这是关于 WPF TabControl TabItem 和 TabPanel 的新手问题 StackOVF 上有一个相关问题 我很高兴在我的应用程序中使用了一个答案 这是答案的链接以及代码片段 WPF TabControl 中的中心 Tab
  • Yii2 isGuest 在控制台应用程序中给出异常

    在我使用时的控制台应用程序中Yii app gt user gt isGuest它给出了以下例外 Exception yii base UnknownPropertyException with message Getting unknow
  • Ifstream 读取函数未加载到向量中

    我对编程有点陌生 所以我不确定如何搜索这个问题 而且我知道我问了另外两个关于这个问题的问题 但我似乎无法让它工作 我遇到了一个问题 我有一个向量 vector
  • 引用的程序集 Dapper 没有强名称

    我从 NuGet 安装了 dapper 当我尝试编译代码时出现错误 引用的程序集 Dapper 没有强名称 这是什么原因造成的 您看到该错误是因为您使用的包没有强名称 即它不使用签名 签名可确保程序集的真实性 看不签署 NET 程序集有什么
  • 如何在gitlab-ci脚本中执行git命令

    我想更改文件并在 gitlab ci 管道内提交更改 我尝试在脚本中编写普通的 git 命令 script git clone email protected cdn cgi l email protection cd project fi