使用 Grails3/Gradle 的 Gitlab CI 将标签名称注入 war 文件

Gitlab CI with Grails3/Gradle inject tag name into war file

我们需要将用于在 Gitlab 中触发构建的 release git 标记注入到 war 文件中,以便它可以被 tomcat 服务器读取并用作输出一个动作。

AFAIR 这适用于旧版本的 Grails。 有人知道如何实现吗?

所以,我发现在 Gitlab 中使用 bash 命令非常简单 CI:

在 ci 文件中 .gitlab-ci.yml 放入:

before_script:
   - mkdir -p files
   - echo $CI_COMMIT_REF_NAME > files/version.txt
   - echo "war {" >> build.gradle
   - echo "   from('files') {" >> build.gradle
   - echo "      include 'version.txt'" >> build.gradle
   - echo "      into('files')" >> build.gradle
   - echo "   }" >> build.gradle
   - echo "}" >> build.gradle

此版本文件现在可以访问为

在您的应用程序中新建文件('files','version.txt')。