File tree Expand file tree Collapse file tree 6 files changed +43
-39
lines changed Expand file tree Collapse file tree 6 files changed +43
-39
lines changed Original file line number Diff line number Diff line change 1
1
SERVER_PORT = 8080
2
2
3
3
MYSQL_ROOT_PASSWORD = T4cwGK3q5NdR3vMz
4
- MYSQL_DATABASE = vscode4teach
4
+ MYSQL_DATABASE = vscode4teaching
5
5
6
- SPRING_DATASOURCE_USERNAME = vscode4teach
6
+ SPRING_DATASOURCE_USERNAME = vscode4teaching
7
7
SPRING_DATASOURCE_PASSWORD = AvScnGQp5e4GHnd
8
- SPRING_DATASOURCE_URL = jdbc:mysql://db/vscode4teach ?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
8
+ SPRING_DATASOURCE_URL = jdbc:mysql://db/vscode4teaching ?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
9
9
10
- JWT_SECRET = vscode4teaching
10
+ JWT_SECRET = cUYw1eSNM6eyhcY2pg6G6Hvf5gHkhdEFr76bbP89dld6qdjfAktQNGqIE4fvKH8kHvf5gHkhdEFr76bbHvf5gHkhdEFr76bb
11
11
12
12
V4T_FILEDIRECTORY = /app/v4t_courses
13
13
Original file line number Diff line number Diff line change 1
1
# VSCode4Teaching
2
2
** Developer documentation on the Continuous Integration, Delivery and Deployment (* CI/CD* ) system of this project**
3
3
4
- This project is configured with a continuous integration, deployment and delivery system through [ GitHub Actions] ( https://github.com/features/actions ) . This system includes a single workflow that comprises both server and web application ([ ` server. ci.yml` ] ( server. ci.yml) ).
4
+ This project is configured with a continuous integration, deployment and delivery system through [ GitHub Actions] ( https://github.com/features/actions ) . This system includes a single workflow that comprises both server and web application ([ ` ci.yml ` ] ( ci.yml ) ).
5
5
6
6
### Detailed description of declared jobs
7
7
The aforementioned files define the jobs that will be executed sequentially based on the type of changes registered in the repository. These jobs are:
Original file line number Diff line number Diff line change 1
- name : " Server pipeline"
1
+ name : " VSCode4Teaching pipeline"
2
2
3
3
on :
4
4
push :
@@ -17,14 +17,14 @@ jobs:
17
17
runs-on : ubuntu-latest
18
18
defaults :
19
19
run :
20
- working-directory : ./vscode4teaching-server
20
+ working-directory : ./backend
21
21
steps :
22
22
- name : Checkout repository
23
23
uses : actions/checkout@v4
24
24
- name : Set up Java version
25
25
uses : actions/setup-java@v4
26
26
with :
27
- java-version : 11
27
+ java-version : 21
28
28
distribution : temurin
29
29
- name : Test
30
30
run : ./mvnw clean dependency:resolve test
41
41
run : |
42
42
VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
43
43
echo VERSION=$VERSION >> $GITHUB_ENV
44
- working-directory : ./vscode4teaching-server
44
+ working-directory : ./backend
45
45
- name : Build Docker image
46
46
run : |
47
47
env | grep DOCKER
Original file line number Diff line number Diff line change 1
1
# Step 1: Compilation of Angular frontend
2
2
# It will be embedded as a static resource into Spring Boot backend
3
- FROM node:18 AS angular
4
- COPY vscode4teaching-webapp /usr/src/app
3
+ FROM node:22 AS angular
4
+ COPY frontend /usr/src/app
5
5
WORKDIR /usr/src/app
6
6
RUN ["npm" , "install" ]
7
7
RUN ["npm" , "run" , "build" ]
8
8
9
9
# Step 2: Compilation of Maven project (generation of JAR)
10
- FROM maven:3.9.7 -eclipse-temurin-11 AS builder
11
- COPY vscode4teaching-server /data
12
- COPY --from=angular /usr/src/app/dist/vscode4teaching /data/src/main/resources/static/
10
+ FROM maven:3.9.9 -eclipse-temurin-21 AS builder
11
+ COPY backend /data
12
+ COPY --from=angular /usr/src/app/dist/vscode4teaching/browser /data/src/main/resources/static/
13
13
WORKDIR /data
14
14
RUN ["mvn" , "clean" , "package" ]
15
15
16
16
# Step 3: Generation of Docker image using the JAR previously built
17
- FROM eclipse-temurin:11
18
- COPY --from=builder /data/target/vscode4teaching-server- *.jar ./app/vscode4teaching-server.jar
17
+ FROM eclipse-temurin:21.0.5_11-jre
18
+ COPY --from=builder /data/target/vscode4teaching-*.jar ./app/vscode4teaching-server.jar
19
19
EXPOSE 8080
20
20
ENTRYPOINT [ "java" , "-jar" , "./app/vscode4teaching-server.jar" ]
Original file line number Diff line number Diff line change 5
5
<parent >
6
6
<groupId >org.springframework.boot</groupId >
7
7
<artifactId >spring-boot-starter-parent</artifactId >
8
- <version >3.4.0 </version >
8
+ <version >3.4.1 </version >
9
9
<relativePath />
10
10
</parent >
11
11
Original file line number Diff line number Diff line change 1
1
name : vscode4teaching
2
2
3
3
services :
4
- app :
5
- image : vscode4teaching/vscode4teaching:2.2.1
6
- depends_on :
7
- - db
8
- env_file :
9
- - path : .env
10
- required : true
11
- ports :
12
- - ${SERVER_PORT}:${SERVER_PORT}
13
- volumes :
14
- - ./volume-v4t:${V4T_FILEDIRECTORY}
15
- restart : on-failure:6
16
- db :
17
- image : mysql:8.4.0
18
- restart : on-failure:3
19
- environment :
20
- MYSQL_ROOT_PASSWORD : ${MYSQL_ROOT_PASSWORD}
21
- MYSQL_DATABASE : ${MYSQL_DATABASE}
22
- MYSQL_USER : ${SPRING_DATASOURCE_USERNAME}
23
- MYSQL_PASSWORD : ${SPRING_DATASOURCE_PASSWORD}
24
- volumes :
25
- - ./volume-mysql:/var/lib/mysql
4
+ app :
5
+ image : vscode4teaching/vscode4teaching:3.0.0
6
+ depends_on :
7
+ - db
8
+ env_file :
9
+ - path : .env
10
+ required : true
11
+ ports :
12
+ - ${SERVER_PORT}:${SERVER_PORT}
13
+ volumes :
14
+ - vscode4teaching-courses:${V4T_FILEDIRECTORY}
15
+ restart : on-failure:6
16
+ db :
17
+ image : mysql:9.1.0
18
+ restart : on-failure:3
19
+ environment :
20
+ MYSQL_ROOT_PASSWORD : ${MYSQL_ROOT_PASSWORD}
21
+ MYSQL_DATABASE : ${MYSQL_DATABASE}
22
+ MYSQL_USER : ${SPRING_DATASOURCE_USERNAME}
23
+ MYSQL_PASSWORD : ${SPRING_DATASOURCE_PASSWORD}
24
+ volumes :
25
+ - vscode4teaching-db:/var/lib/mysql
26
+
27
+ volumes :
28
+ vscode4teaching-courses :
29
+ vscode4teaching-db :
You can’t perform that action at this time.
0 commit comments