-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
88 lines (82 loc) · 2.15 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
variables:
# Act as a varibale to be used further in YML file.
TARGET_FOLDER_NAME: "target"
BACKEND_FOLDER_NAME: "backend"
FRONTEND_FOLDER_NAME: "shipogle-frontend"
stages:
- build
- test
- quality
- deploy
backend-build:
stage: build
tags:
- ugrad
image: maven:latest
script:
- echo "Started building backend application."
- cd backend
- mvn clean package
- echo "Backend application has been built successfully."
rules:
- changes:
- backend/**/*
artifacts:
when: on_success
paths:
- $BACKEND_FOLDER_NAME/$TARGET_FOLDER_NAME
backend-test:
stage: test
tags:
- ugrad
image: maven:latest
script:
- echo "Backend application test started."
- cd backend
- ls
- mvn test
- echo "Backend application Tested successfully."
rules:
- changes:
- backend/**/*
code-quality:
stage: quality
tags:
- ugrad
image: maven:latest
script:
- echo "Code quality job started"
- mkdir code-smells/
- java -jar $CI_PROJECT_DIR/DesigniteJava.jar -i $CI_PROJECT_DIR/backend -o codeSmells/ -d
artifacts:
paths:
- codeSmells/
backend-deploy:
stage: deploy
image: maven:latest
tags:
- ugrad
script:
- cd backend
- chmod og-rwx ${VM_PRIVATE_KEY}
- scp -r -o StrictHostKeyChecking=no -i ${VM_PRIVATE_KEY} ${TARGET_FOLDER_NAME}/Shipogle.jar [email protected]:${BACKEND_FOLDER_NAME}/Shipogle.jar
- ssh -i ${VM_PRIVATE_KEY} [email protected] "./${BACKEND_FOLDER_NAME}/start_silent.sh"
only:
refs:
- master
dependencies:
- backend-build
frontend-deploy:
stage: deploy
before_script:
- apt-get update && apt-get install -y zip
tags:
- ugrad
script:
- chmod og-rwx ${VM_PRIVATE_KEY}
- zip -r shipogle-frontend.zip shipogle-frontend
- scp -r -o StrictHostKeyChecking=no -i ${VM_PRIVATE_KEY} shipogle-frontend.zip [email protected]:${FRONTEND_FOLDER_NAME}/shipogle-frontend.zip
- ssh -i ${VM_PRIVATE_KEY} [email protected] "./${FRONTEND_FOLDER_NAME}/start_silent.sh"
only:
refs:
- master