объединить Gitlab CI с Gradle и системными переменными среды

#docker #gradle #gitlab #gitlab-ci #gitlab-ci-runner

# #docker #gradle #gitlab #gitlab-ci #gitlab-ci-runner

Вопрос:

Я пытаюсь создать хороший конвейер для небольшого проекта.

Настройка:

  • Ubuntu 20.04 VM
  • (Тестовые) учетные данные, хранящиеся в /etc/environment
  • (Тестовые) учетные данные, хранящиеся в глобальных переменных Gitlab: Текст
  • (Тестовые) учетные данные, хранящиеся в переменных проекта Gitlab: Текст
  • Проект на основе Java 15 с Gradle в качестве инструмента управления сборкой
  • Gitlab-CE (Dockerized)
  • Gitlab-Runner (Dockerized)
  • Artifactory (Dockerized)

Ожидаемое поведение / процедура:

  1. Фиксация и запуск проекта / запуск конвейера Gitlab
  2. Gitlab создает проект
  3. Gradle нажимает на Artifactory, используя учетные данные из переменных.

Содержимое в /etc/environment:

 root@<> ~ # cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
epeuUser="..."
epeuPassword="..."
epeuArtifactoryContextURL="https://<url>/artifactory"
epeuRepoKey="repo"


 

gitlab-ci.yml:

 image: gradle:6.7.1-jre15

stages:
  - build

build:
  stage: build
  script: gradle --build-cache publish
  cache:
    key: "$CI_COMMIT_REF_NAME"
    policy: push
    paths:
      - build
      - .gradle
 

build.gradle:

 plugins {
  id 'com.github.johnrengelman.shadow' version '6.1.0'
}

allprojects {

  tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
  }

  apply plugin: 'java-library'
  apply plugin: 'maven'
  apply plugin: 'maven-publish'
  apply plugin: 'com.github.johnrengelman.shadow'

  sourceCompatibility = '15'
  targetCompatibility = '15'

  repositories {
    mavenCentral()

    maven {
      url "${epeuArtifactoryContextURL}/${epeuRepoKey}/"
        credentials {
          username "${epeuUser}"
          password "${epeuPassword}"
      }
      metadataSources {
        mavenPom()
        gradleMetadata()
        artifact()
      }
    }

  }

  dependencies {
    compile group: 'com.google.inject', name: 'guice', version: '5.0.0-BETA-1'
  }

  publishing {
    repositories {
      maven {
        url "${epeuArtifactoryContextURL}/${epeuRepoKey}/"
          credentials {
            username "${epeuUser}"
            password "${epeuPassword}"
          }
        }
    }
    publications {
      gpr(MavenPublication) {
        from(components.java)
      }
    }
  }

}
 

Результат конвейера: Текст

Есть идеи, что мне делать?

Комментарии:

1. Результат конвейера неразборчив. Не могли бы вы, пожалуйста, попытаться скопировать содержимое, вместо того, чтобы прикреплять изображение? Спасибо!