私はGitlabに常駐GradleのJavaの11のプロジェクトを持っています。私が紹介したいgitlab-ci.yml
プロジェクトをビルドし、リモートブランチに、各プッシュでテストを実行するGitlabを強制します。
それは何のようになりますか?
私はかなり確信して同様の質問が既に求められていることだが、私はそれを見つけることができなかったので、私はあなたの助けに感謝します。
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
スクリプトは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差を。
詳細については、以下を参照してください。
- どのようにgitlab CIランナーのためのMavenアーティファクトのキャッシュを有効にするには?
- GitLab CI / CDでのキャッシュの依存関係
- GitLab CI / CD例
- Gitlab CI Gradleの依存関係キャッシュ
- Gradleのプロジェクトのための.gitlab-ci.ymlのサンプル
- .gitlab-ci.ymlでキャッシュを使用する方法gitlab 8.2.1、
- サポートの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のオプションは上記と)、それぞれ。