gitlab config und task component

This commit is contained in:
2022-05-07 01:45:20 +02:00
2 changed files with 35 additions and 32 deletions

View File

@ -5,37 +5,48 @@ stages: # List of stages for jobs, and their order of execution
variables: variables:
FF_USE_FASTZIP: "true"
# These can be specified per job or per pipeline
ARTIFACT_COMPRESSION_LEVEL: "fast"
CACHE_COMPRESSION_LEVEL: "fast"
CI_REGISTRY_IMAGE: docker.dergeorg.at/dergeorg CI_REGISTRY_IMAGE: docker.dergeorg.at/dergeorg
SERVICE: todo-service SERVICE: todo-frontend
Docker_name: gitlab-todo-service Docker_name: gitlab-todo-frontend
TAG_LATEST: $CI_REGISTRY_IMAGE/$Docker_name:latest TAG_LATEST: $CI_REGISTRY_IMAGE/$Docker_name:latest
Project_name: todo-service Project_name: todo-frontend
Docker_url: docker.dergeorg.at Docker_url: docker.dergeorg.at
Docker_namespace: dergeorg Docker_namespace: dergeorg
DOCKER_TAG: latest DOCKER_TAG: latest
ENV: test ENV: test
PORT_HOST: 2222 PORT_HOST: 8889
PORT_CONTAINER: 2222 PORT_CONTAINER: 80
EUREKA_HOSTNAME: 192.168.1.65 EUREKA_HOSTNAME: 192.168.1.65
EUREKA_PORT: 9995 EUREKA_PORT: 9995
CONFIG_PORT: 1111 CONFIG_PORT: 1111
CONFIG_URL: service.todo.gitlab.dergeorg.at CONFIG_URL: service.todo.gitlab.dergeorg.at
CONFIG_HTTP: https CONFIG_HTTP: https
cache:
policy: pull-push
key: NPM_DOWNLOAD_CACHE
paths:
- .npm/
build-job: # Building jar file build-job: # Building jar file
image: maven:3.6.3-jdk-11-slim image: node:lts-alpine
stage: build stage: build
variables:
MAVEN_OPTS: "-Dmaven.repo.local=${CI_PROJECT_DIR}/.repository/"
cache:
key: maven
paths: [.repository/]
script: script:
- mvn clean install -DskipTests && mvn package -B -e -DskipTests - ls src/environments/
- export - echo "$APPLICATION_TODO_FRONTEND_TS" > src/environments/environment.ts
- echo "$APPLICATION_TODO_FRONTEND_TS" > src/environments/environment.prod.ts
- npm ci --cache .npm --prefer-offline
- npm install -g @angular/cli
- ng build --prod
- ls
artifacts: artifacts:
paths: paths:
- target/*.jar - dist/
publish-job: # Building docker image and publishing it publish-job: # Building docker image and publishing it
image: docker:latest image: docker:latest
@ -43,7 +54,7 @@ publish-job: # Building docker image and publishing it
services: services:
- docker:dind - docker:dind
script: script:
- docker login $DOCKER_URL -u $DOCKER_USER -p $DOCKER_PW - docker login -u $DOCKER_USER -p $DOCKER_PW $DOCKER_URL
- docker build -t $DOCKER_URL/$TAG_LATEST --cache-from $DOCKER_URL/$TAG_LATEST . - docker build -t $DOCKER_URL/$TAG_LATEST --cache-from $DOCKER_URL/$TAG_LATEST .
- docker push $DOCKER_URL/$TAG_LATEST - docker push $DOCKER_URL/$TAG_LATEST
@ -64,4 +75,4 @@ deploy-job: # Deploy docker image on ssh server
- ssh $SSH_USER@$SERVER_IP "docker login $DOCKER_URL -u $DOCKER_USER -p $DOCKER_PW" - ssh $SSH_USER@$SERVER_IP "docker login $DOCKER_URL -u $DOCKER_USER -p $DOCKER_PW"
- ssh $SSH_USER@$SERVER_IP "docker push $DOCKER_URL/$TAG_LATEST" - ssh $SSH_USER@$SERVER_IP "docker push $DOCKER_URL/$TAG_LATEST"
- ssh $SSH_USER@$SERVER_IP "docker container rm -f $Docker_name || true" - ssh $SSH_USER@$SERVER_IP "docker container rm -f $Docker_name || true"
- ssh $SSH_USER@$SERVER_IP "docker run -it -d --name $Docker_name -e spring.config.import='configserver:$CONFIG_HTTP://$CONFIG_USER$CONFIG_URL/todo-config' -e PROJEKTNAME_UNIQUE='$Project_name:$CI_JOB_ID' -e PROJEKTNAME='$Project_name' -e HOSTNAME=$EUREKA_HOSTNAME -e EUREKAPORT=$EUREKA_PORT -e server.port=$PORT_CONTAINER -e CONFIGPORT=$CONFIG_PORT -e KEY='$CONFIG_KEY' -e CONFIGURL='$CONFIG_URL' -e CONFIGUSER='$CONFIG_USER' -e CONFIGHTTP=$CONFIG_HTTP -p $PORT_HOST:$PORT_CONTAINER $DOCKER_URL/$TAG_LATEST" - ssh $SSH_USER@$SERVER_IP "docker run -it -d --name $Docker_name -p $PORT_HOST:$PORT_CONTAINER $DOCKER_URL/$TAG_LATEST"

View File

@ -1,16 +1,8 @@
<mat-card class="task"> <!-- Terminal -->
<mat-card-header class="header"> <div class="terminal" >
<mat-card-title class="title">{{this.taskObj.name}}</mat-card-title> <pre>{{this.taskObj.name}}</pre>
<mat-card-subtitle class="sub">{{this.date}}</mat-card-subtitle> <pre>{{this.taskObj.id}}</pre>
</mat-card-header> <pre>{{this.taskObj.description}}</pre>
<hr> <pre>{{this.taskObj.state}}</pre>
<mat-card-content class="content"> <pre>{{this.taskObj.date}}</pre>
<p> </div>
{{this.taskObj.description}}
</p>
</mat-card-content>
<mat-card-actions>
<button (click)="delete(this.taskObj.id)" mat-mini-fab class="edit-btn"><mat-icon>delete</mat-icon></button>
<button (click)="openDialog()" mat-mini-fab class="edit-btn"><mat-icon>edit</mat-icon></button>
</mat-card-actions>
</mat-card>