激活Gitlab来构建项目并运行测试的.gitlab-ci.yml文件应该是什么?

我有一个驻留在Gitlab中的Gradle Java 11项目。我想介绍gitlab-ci.yml一下强制Gitlab构建项目并在每次向远程分支推送时运行测试。

看起来像什么?

我很确定已经提出了类似的问题,但是找不到,因此,感谢您的帮助。


catspeake
浏览 502回答 1
1回答

慕田峪7331174

Gitlab提供了该文件的正式描述.gitlab-ci.yml,但是要开始使用它可能会有点冗长。对于基础项目,可以使用以下内容作为基础:image: gradle:jdk11before_script:  - export GRADLE_USER_HOME=`pwd`/.gradlecache:  paths:    - .gradle/wrapper    - .gradle/cachespackage:  stage: build  script:    - ./gradlew assembletest:  stage: test  script:    - ./gradlew check注意,在许多示例中,image标签都设置为maven:latest,但是为了让Gitlab使用JDK 11编译项目,image必须将标签设置为maven:3-jdk-11。该GRADLE_USER_HOME设置为.gradle当前目录的脚本被读取,以确保环境的摇篮在开始构建之前配置正确。本cache节定义了Gitlab CI查找缓存的工件和依赖项的路径(对于Gradle构建而言,其为.gradle/wrapper和.gradle/cache)。构建可能需要很长时间才能执行,因为每个构建都需要在每次执行构建时下载所有依赖项。为了加快速度,可以包括缓存,从而消除了重复下载依赖项的需要。缓存的具体情况可能会因您的项目而异。有关更多信息,请参见官方cache文档。在assemble和check步骤简单地运行gradle assemble和gradle check分别。尽管gradle test在许多情况下就足够了(相对而言gradle check,该check步骤包括,test同时还包括其他验证步骤。有关check和之间的差异的更多信息test,请参阅测试和检查之间的Gradle差异。等效的Maven示例:image: maven:3-jdk-11variables:  MAVEN_CLI_OPTS: "--batch-mode"  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"cache:  paths:    - .m2/repository/    - target/package:  stage: build  script:    - mvn $MAVEN_CLI_OPTS packagetest:  stage: test  script:    - mvn $MAVEN_CLI_OPTS test该--batch-mode标志使用默认值运行Maven,并且不会提示用户选择任何默认值。在-Dmaven.repo.local=.m2/repository将本地存储库来构建服务器(Gitlab)上的位置。发挥了Gitlab的缓存能力。构建可能需要很长时间才能执行,因为每个构建都需要在每次执行构建时下载所有依赖项。为了加快速度,可以包括缓存,从而消除了重复下载依赖项的需要。缓存的具体情况可能因您的项目而异。有关更多信息,请参见官方cache文档。的package和test的步骤简单地运行mvn package和mvn test,分别为(与上述的Maven选项)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java