#83 add tasks, modify build script for passing application properties

This commit is contained in:
Anton Romanov 2019-04-05 17:35:17 +04:00
parent fe1820d540
commit c7cdbe9044
5 changed files with 55 additions and 1 deletions

View File

@ -27,6 +27,26 @@ build:
- build - build
- .gradle - .gradle
checkRun:
stage: test
script: ./gradlew bootRun -Dng-tracker.check-run=true
cache:
key: "$CI_PROJECT_ID"
policy: push
paths:
- build
- .gradle
checkStyle:
stage: test
script: ./gradlew check
cache:
key: "$CI_PROJECT_ID"
policy: push
paths:
- build
- .gradle
deploy: deploy:
stage: deploy stage: deploy
script: script:

View File

@ -30,6 +30,10 @@ bootRun.dependsOn checkstyleMain
sourceCompatibility = 1.8 sourceCompatibility = 1.8
targetCompatibility = 1.8 targetCompatibility = 1.8
bootRun {
systemProperties = System.properties
}
checkstyle { checkstyle {
project.ext.checkstyleVersion = '8.8' project.ext.checkstyleVersion = '8.8'

View File

@ -2,13 +2,30 @@ package ru.ulstu;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import ru.ulstu.configuration.ApplicationProperties;
import ru.ulstu.core.repository.JpaDetachableRepositoryImpl; import ru.ulstu.core.repository.JpaDetachableRepositoryImpl;
@SpringBootApplication @SpringBootApplication
@EnableJpaRepositories(repositoryBaseClass = JpaDetachableRepositoryImpl.class) @EnableJpaRepositories(repositoryBaseClass = JpaDetachableRepositoryImpl.class)
public class NgTrackerApplication { public class NgTrackerApplication {
private final ApplicationProperties applicationProperties;
public NgTrackerApplication(ApplicationProperties applicationProperties) {
this.applicationProperties = applicationProperties;
}
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(NgTrackerApplication.class, args); SpringApplication.run(NgTrackerApplication.class, args);
} }
@EventListener(ApplicationReadyEvent.class)
public void doSomethingAfterStartup() {
System.out.println("hello world, I have just started up");
if (applicationProperties.isCheckRun()) {
System.exit(0);
}
}
} }

View File

@ -11,12 +11,16 @@ import org.springframework.validation.annotation.Validated;
public class ApplicationProperties { public class ApplicationProperties {
@NotBlank @NotBlank
private String baseUrl; private String baseUrl;
@NotBlank @NotBlank
private String undeadUserLogin; private String undeadUserLogin;
private boolean devMode; private boolean devMode;
private boolean useHttps; private boolean useHttps;
private boolean checkRun;
public boolean isUseHttps() { public boolean isUseHttps() {
return useHttps; return useHttps;
} }
@ -48,4 +52,12 @@ public class ApplicationProperties {
public void setDevMode(boolean devMode) { public void setDevMode(boolean devMode) {
this.devMode = devMode; this.devMode = devMode;
} }
public boolean isCheckRun() {
return checkRun;
}
public void setCheckRun(boolean checkRun) {
this.checkRun = checkRun;
}
} }

View File

@ -35,4 +35,5 @@ liquibase.change-log=classpath:db/changelog-master.xml
ng-tracker.base-url=http://127.0.0.1:8080 ng-tracker.base-url=http://127.0.0.1:8080
ng-tracker.undead-user-login=admin ng-tracker.undead-user-login=admin
ng-tracker.dev-mode=true ng-tracker.dev-mode=true
ng-tracker.use-https=false ng-tracker.use-https=false
ng-tracker.check-run=false