docker-deployment #65

Merged
sebastian merged 10 commits from docker-deployment into master 2023-11-13 22:53:30 +01:00
4 changed files with 69 additions and 51 deletions

View File

@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: [push] on: [push]
jobs: jobs:
build: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -22,6 +22,53 @@ jobs:
- name: Build with Maven - name: Build with Maven
run: mvn -B package --file backend/pom.xml run: mvn -B package --file backend/pom.xml
# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive build-and-push-frontend:
# - name: Update dependency graph runs-on: ubuntu-latest
#uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 steps:
- uses: actions/checkout@v2
- name: Log into registry at Gitea
uses: docker/login-action@v2
with:
registry: https://git.fawkes100.de
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v2
with:
images: git.fawkes100.de/TimeManager/timemanager-frontend
- name: Build and Push Latest Docker Image
id: build-and-push-latest
uses: docker/build-push-action@v4
if: ${{ github.ref == 'refs/heads/master' }}
with:
file: frontend/Dockerfile
push: true
tags: git.fawkes100.de/TimeManager/timemanager-frontend:latest
build-and-push-backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Log into registry at Gitea
uses: docker/login-action@v2
with:
registry: https://git.fawkes100.de
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v2
with:
images: git.fawkes100.de/TimeManager/timemanager-backend
- name: Build and Push Latest Docker Image
id: build-and-push-latest
uses: docker/build-push-action@v4
if: ${{ github.ref == 'refs/heads/master' }}
with:
file: backend/Dockerfile
push: true
tags: git.fawkes100.de/TimeManager/timemanager-backend:latest

View File

@ -4,7 +4,9 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Edit and Delete in Draggable Scheduler" /> <list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Fix parsing datetime">
<change beforePath="$PROJECT_DIR$/../.gitea/workflows/demo.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/../.gitea/workflows/demo.yaml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@ -174,11 +176,11 @@
</configuration> </configuration>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="JUnit.TaskServiceTest" />
<item itemvalue="JUnit.ScheduleServiceTest.scheduleNow" /> <item itemvalue="JUnit.ScheduleServiceTest.scheduleNow" />
<item itemvalue="JUnit.ScheduleServiceTest.scheduleAdvanced" />
<item itemvalue="JUnit.ScheduleServiceTest.editscheduleAdvanced" />
<item itemvalue="JUnit.ScheduleServiceTest.editBasicSchedule" /> <item itemvalue="JUnit.ScheduleServiceTest.editBasicSchedule" />
<item itemvalue="JUnit.ScheduleServiceTest.editscheduleAdvanced" />
<item itemvalue="JUnit.ScheduleServiceTest.scheduleAdvanced" />
<item itemvalue="JUnit.TaskServiceTest" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -218,7 +220,6 @@
<workItem from="1699639316405" duration="9267000" /> <workItem from="1699639316405" duration="9267000" />
<workItem from="1699684493731" duration="1121000" /> <workItem from="1699684493731" duration="1121000" />
<workItem from="1699769541677" duration="7576000" /> <workItem from="1699769541677" duration="7576000" />
<workItem from="1699898375418" duration="325000" />
</task> </task>
<task id="LOCAL-00001" summary="Structure Taskgroups in Hierarchies"> <task id="LOCAL-00001" summary="Structure Taskgroups in Hierarchies">
<option name="closed" value="true" /> <option name="closed" value="true" />
@ -572,29 +573,15 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1699806194258</updated> <updated>1699806194258</updated>
</task> </task>
<task id="LOCAL-00045" summary="Fix parsing datetime (diesmal hoffentlich wirklich)"> <option name="localTasksCounter" value="45" />
<option name="closed" value="true" />
<created>1699809089060</created>
<option name="number" value="00045" />
<option name="presentableId" value="LOCAL-00045" />
<option name="project" value="LOCAL" />
<updated>1699809089060</updated>
</task>
<task id="LOCAL-00046" summary="Edit and Delete in Draggable Scheduler">
<option name="closed" value="true" />
<created>1699824923378</created>
<option name="number" value="00046" />
<option name="presentableId" value="LOCAL-00046" />
<option name="project" value="LOCAL" />
<updated>1699824923378</updated>
</task>
<option name="localTasksCounter" value="47" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" /> <option name="version" value="3" />
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="Write simple Testcase for ci/cd" />
<MESSAGE value="Deactivate Overall System test (temporarly)" />
<MESSAGE value="Fix failing test case" /> <MESSAGE value="Fix failing test case" />
<MESSAGE value="TaskgroupRepsitoryTest" /> <MESSAGE value="TaskgroupRepsitoryTest" />
<MESSAGE value="TaskgroupRepsitoryTest (+Delete)" /> <MESSAGE value="TaskgroupRepsitoryTest (+Delete)" />
@ -618,9 +605,7 @@
<MESSAGE value="Deploy on docker (not productive yet!)" /> <MESSAGE value="Deploy on docker (not productive yet!)" />
<MESSAGE value="Fix deleting tasks" /> <MESSAGE value="Fix deleting tasks" />
<MESSAGE value="Fix parsing datetime" /> <MESSAGE value="Fix parsing datetime" />
<MESSAGE value="Fix parsing datetime (diesmal hoffentlich wirklich)" /> <option name="LAST_COMMIT_MESSAGE" value="Fix parsing datetime" />
<MESSAGE value="Edit and Delete in Draggable Scheduler" />
<option name="LAST_COMMIT_MESSAGE" value="Edit and Delete in Draggable Scheduler" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
@ -630,31 +615,11 @@
<line>57</line> <line>57</line>
<option name="timeStamp" value="12" /> <option name="timeStamp" value="12" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/core/api/controller/ScheduleController.java</url>
<line>98</line>
<option name="timeStamp" value="16" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/core/services/TaskService.java</url> <url>file://$PROJECT_DIR$/src/main/java/core/services/TaskService.java</url>
<line>93</line> <line>93</line>
<option name="timeStamp" value="35" /> <option name="timeStamp" value="35" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/core/api/controller/ScheduleController.java</url>
<line>83</line>
<option name="timeStamp" value="36" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/core/entities/timemanager/Taskgroup.java</url>
<line>99</line>
<option name="timeStamp" value="37" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/core/entities/timemanager/Taskgroup.java</url>
<line>100</line>
<option name="timeStamp" value="38" />
</line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
</component> </component>

View File

@ -1,5 +1,6 @@
package core.api.models.timemanager.tasks; package core.api.models.timemanager.tasks;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -11,7 +12,11 @@ public class TaskFieldInfo {
@Length(max = 255) @Length(max = 255)
private String taskName; private String taskName;
private int eta; private int eta;
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
private LocalDate startDate; private LocalDate startDate;
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
private LocalDate deadline; private LocalDate deadline;
public TaskFieldInfo() { public TaskFieldInfo() {

View File

@ -7,6 +7,7 @@ import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
import {TaskService} from "../../../api"; import {TaskService} from "../../../api";
import {TaskEditorData} from "./TaskEditorData"; import {TaskEditorData} from "./TaskEditorData";
import {MatSnackBar} from "@angular/material/snack-bar"; import {MatSnackBar} from "@angular/material/snack-bar";
import * as moment from "moment/moment";
@Component({ @Component({
@ -53,8 +54,8 @@ export class TaskEditorComponent implements OnInit {
this.taskService.tasksTaskgroupIDPut(this.editorData.taskgroupID, { this.taskService.tasksTaskgroupIDPut(this.editorData.taskgroupID, {
taskName: this.nameCtrl.value, taskName: this.nameCtrl.value,
eta: this.etaCtrl.value, eta: this.etaCtrl.value,
startDate: this.startDate.value, startDate: moment(this.startDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ'),
deadline: this.endDate.value deadline: moment(this.endDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ')
}).subscribe({ }).subscribe({
next: resp => { next: resp => {
this.dialog.close(resp); this.dialog.close(resp);