1 回答

TA貢獻1828條經驗 獲得超13個贊
Gitlab提供了該文件的正式描述.gitlab-ci.yml,但是要開始使用它可能會有點冗長。對于基礎項目,可以使用以下內容作為基礎:
image: gradle:jdk11
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
cache:
paths:
- .gradle/wrapper
- .gradle/caches
package:
stage: build
script:
- ./gradlew assemble
test:
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-11
variables:
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 package
test:
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選項)。
添加回答
舉報