Настройка CICD с помощью Drone
Some checks reported errors
continuous-integration/drone/push Build encountered an error
continuous-integration/drone Build is failing

This commit is contained in:
Struchkov Mark 2022-12-17 18:49:38 +03:00
parent 77d9e6aba4
commit f9259f558b
5 changed files with 27 additions and 73 deletions

View File

@ -5,17 +5,31 @@ name: gitlab-notify
steps: steps:
- name: package - name: package
image: maven:3.8.6-eclipse-temurin-17 image: maven:3.8.6-eclipse-temurin-17
commands:
- mvn -U clean package
volumes: volumes:
- name: m2 - name: m2
path: /root/.m2 path: /root/.m2/repository
commands:
- mvn -U clean package
- name: docker-publish
image: upagge/docker-buildx:latest
environment:
DOCKER_REGISTRY_TOKEN:
from_secret: DOCKER_REGISTRY_TOKEN
DOCKER_IMAGE_NAME:
from_secret: DOCKER_IMAGE_NAME
DOCKER_REGISTRY_USER:
from_secret: DOCKER_REGISTRY_USER
commands:
- echo "$DOCKER_REGISTRY_TOKEN" | docker login docker.io --username $DOCKER_REGISTRY_USER --password-stdin
- docker buildx create --use
- docker buildx build --push --platform linux/amd64,linux/arm64/v8 -t "$DOCKER_IMAGE_NAME:develop" .
trigger: trigger:
branch: branch:
- master - develop
volumes: volumes:
- name: m2 - name: m2
host: host:
path: $MAVEN_REPO path: /drone/volume/m2

View File

@ -10,7 +10,6 @@ import dev.struchkov.bot.gitlab.context.service.ProjectService;
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty; import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty; import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetMergeRequestTask; import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetMergeRequestTask;
import dev.struchkov.bot.gitlab.core.utils.PoolUtils;
import dev.struchkov.bot.gitlab.core.utils.StringUtils; import dev.struchkov.bot.gitlab.core.utils.StringUtils;
import dev.struchkov.bot.gitlab.sdk.domain.CommitJson; import dev.struchkov.bot.gitlab.sdk.domain.CommitJson;
import dev.struchkov.bot.gitlab.sdk.domain.MergeRequestJson; import dev.struchkov.bot.gitlab.sdk.domain.MergeRequestJson;
@ -33,6 +32,7 @@ import java.util.stream.Stream;
import static dev.struchkov.haiti.utils.Checker.checkNotEmpty; import static dev.struchkov.haiti.utils.Checker.checkNotEmpty;
import static dev.struchkov.haiti.utils.Checker.checkNotNull; import static dev.struchkov.haiti.utils.Checker.checkNotNull;
import static dev.struchkov.haiti.utils.concurrent.ForkJoinUtils.pullTaskResults;
import static dev.struchkov.haiti.utils.network.HttpParse.ACCEPT; import static dev.struchkov.haiti.utils.network.HttpParse.ACCEPT;
@Slf4j @Slf4j
@ -134,7 +134,7 @@ public class MergeRequestParser {
.map(forkJoinPool::submit) .map(forkJoinPool::submit)
.collect(Collectors.toList()); .collect(Collectors.toList());
return PoolUtils.pullTaskResults(tasks); return pullTaskResults(tasks);
} }
private static void personMapping(List<MergeRequest> newMergeRequests) { private static void personMapping(List<MergeRequest> newMergeRequests) {

View File

@ -35,10 +35,10 @@ import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.PENDING;
import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.PREPARING; import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.PREPARING;
import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.RUNNING; import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.RUNNING;
import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.WAITING_FOR_RESOURCE; import static dev.struchkov.bot.gitlab.context.domain.PipelineStatus.WAITING_FOR_RESOURCE;
import static dev.struchkov.bot.gitlab.core.utils.PoolUtils.pullTaskResult;
import static dev.struchkov.bot.gitlab.core.utils.PoolUtils.pullTaskResults;
import static dev.struchkov.haiti.context.exception.ConvertException.convertException; import static dev.struchkov.haiti.context.exception.ConvertException.convertException;
import static dev.struchkov.haiti.utils.Checker.checkNotEmpty; import static dev.struchkov.haiti.utils.Checker.checkNotEmpty;
import static dev.struchkov.haiti.utils.concurrent.ForkJoinUtils.pullTaskResult;
import static dev.struchkov.haiti.utils.concurrent.ForkJoinUtils.pullTaskResults;
import static dev.struchkov.haiti.utils.network.HttpParse.ACCEPT; import static dev.struchkov.haiti.utils.network.HttpParse.ACCEPT;
/** /**
@ -137,7 +137,7 @@ public class PipelineParser {
public void scanOldPipeline() { public void scanOldPipeline() {
log.debug("Старт обработки старых папйплайнов"); log.debug("Старт обработки старых пайплайнов");
int page = 0; int page = 0;
Page<Pipeline> pipelineSheet = pipelineService.getAllByStatuses(oldStatus, PageRequest.of(page, COUNT)); Page<Pipeline> pipelineSheet = pipelineService.getAllByStatuses(oldStatus, PageRequest.of(page, COUNT));
@ -159,7 +159,7 @@ public class PipelineParser {
pipelineSheet = pipelineService.getAllByStatuses(oldStatus, PageRequest.of(++page, COUNT)); pipelineSheet = pipelineService.getAllByStatuses(oldStatus, PageRequest.of(++page, COUNT));
} }
log.debug("Конец обработки старых папйплайнов"); log.debug("Конец обработки старых пайплайнов");
} }
} }

View File

@ -1,60 +0,0 @@
package dev.struchkov.bot.gitlab.core.utils;
import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinTask;
@Slf4j
@UtilityClass
public class PoolUtils {
public static <T> List<T> pullTaskResults(List<ForkJoinTask<List<T>>> tasks) {
final List<T> results = new ArrayList<>();
Iterator<ForkJoinTask<List<T>>> iterator = tasks.iterator();
while (!tasks.isEmpty()) {
while (iterator.hasNext()) {
final ForkJoinTask<List<T>> task = iterator.next();
if (task.isDone()) {
final List<T> jsons;
try {
jsons = task.get();
results.addAll(jsons);
} catch (InterruptedException | ExecutionException e) {
log.error(e.getMessage(), e);
Thread.currentThread().interrupt();
}
iterator.remove();
}
}
iterator = tasks.iterator();
}
return results;
}
public static <T> List<T> pullTaskResult(List<ForkJoinTask<T>> tasks) {
final List<T> results = new ArrayList<>();
Iterator<ForkJoinTask<T>> iterator = tasks.iterator();
while (!tasks.isEmpty()) {
while (iterator.hasNext()) {
final ForkJoinTask<T> task = iterator.next();
if (task.isDone()) {
try {
results.add(task.get());
} catch (InterruptedException | ExecutionException e) {
log.error(e.getMessage(), e);
Thread.currentThread().interrupt();
}
iterator.remove();
}
}
iterator = tasks.iterator();
}
return results;
}
}

View File

@ -104,13 +104,13 @@
<dependency> <dependency>
<groupId>dev.struchkov.haiti</groupId> <groupId>dev.struchkov.haiti</groupId>
<artifactId>haiti-utils</artifactId> <artifactId>haiti-utils</artifactId>
<version>2.0.0</version> <version>2.3.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>dev.struchkov.haiti</groupId> <groupId>dev.struchkov.haiti</groupId>
<artifactId>haiti-exception</artifactId> <artifactId>haiti-exception</artifactId>
<version>2.0.0</version> <version>2.3.4</version>
</dependency> </dependency>
<dependency> <dependency>