亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

激活Gitlab來構建項目并運行測試的.gitlab-ci.yml文件應該是什么?

激活Gitlab來構建項目并運行測試的.gitlab-ci.yml文件應該是什么?

catspeake 2021-04-09 15:15:22
我有一個駐留在Gitlab中的Gradle Java 11項目。我想介紹gitlab-ci.yml一下強制Gitlab構建項目并在每次向遠程分支推送時運行測試??雌饋硐袷裁矗课液艽_定已經提出了類似的問題,但是找不到,因此,感謝您的幫助。
查看完整描述

1 回答

?
慕田峪7331174

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選項)。


查看完整回答
反對 回復 2021-04-14
  • 1 回答
  • 0 關注
  • 539 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號