【问题标题】:How to compare dates in Gitlab Pipeline?如何比较 Gitlab 管道中的日期?
【发布时间】:2022-12-11 03:46:37
【问题描述】:

我正在尝试创建一个预定的管道,该管道每凌晨 4 点运行一次,但问题是我只想在前一天有任何提交时运行该作业。我知道我可以通过 $CI_JOB_STARTED_AT 和 $CI_COMMIT_TIMESTAMP 获取当前日期和最后提交日期,但我不知道如何比较这两者。例如,如果最后一次提交日期是 2022-01-26 而当前日期是 2022-01-27,这意味着作业应该运行但如何运行。我已经尝试通过“==”将它们转换为字符串来比较它们,但我不需要知道它们是否相等我需要知道当前日期比上次提交提前 1 天。我已经粘贴了一些我的 yml 脚本来了解我想要实现的目标。 任何帮助将不胜感激。

  stage: deploy
  script:
    - $debug_version = $xmlserver_version + "." + $CI_PIPELINE_ID
    - .\CI\DeployToDev "UK1-OFF-DEXM-02" $debug_version
  needs:
    - Publish_Debug
  dependencies:
    - Publish_Debug 
  rules:
     - if: '$CURRENT_DATE == $COMMIT_DATE'
       when: always
  when: manual
  tags: *tags
  variables:
    CURRENT_DATE: ${CI_JOB_STARTED_AT%T*}
    COMMIT_DATE: ${CI_COMMIT_TIMESTAMP%T*}```

【问题讨论】:

    标签: gitlab yaml gitlab-ci pipeline


    【解决方案1】:

    我有同样的问题,你找到解决方案了吗?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多