Skip to content

Commit 34046bf

Browse files
authored
Update CDCI-master.yml
1 parent 9e5a458 commit 34046bf

File tree

1 file changed

+72
-75
lines changed

1 file changed

+72
-75
lines changed

.github/workflows/CDCI-master.yml

Lines changed: 72 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,54 @@
1-
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
2-
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
3-
4-
name: Java CI with Gradle
5-
#run-name: ${{ github.actor }}'s own workflow Java CI with Gradle
1+
name: CI/CD Pipeline for Java Project
62

73
on:
84
push:
95
branches:
10-
- '*'
6+
- master
117
pull_request:
128
branches:
13-
- '*'
14-
#defaults:
15-
#run:
16-
#working-directory: ./app
9+
- master
10+
1711
jobs:
1812
build:
1913
runs-on: ubuntu-latest
20-
permissions:
21-
contents: read
22-
steps:
23-
- uses: actions/checkout@v4
24-
- name: Set up JDK 21
25-
uses: actions/setup-java@v4
26-
with:
27-
java-version: "21"
28-
distribution: temurin
29-
cache: gradle
30-
- name: Setup Gradle
31-
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5
32-
id: setup-gradle
33-
with:
34-
gradle-version: current
35-
36-
37-
38-
- run: gradle build --dry-run
39-
- run: echo "The current Gradle version was ${{ steps.setup-gradle.outputs.gradle-version }}"
40-
41-
- name: Test with Gradle Wrapper
42-
run: make run-test
43-
- run: echo "Test was sucsessful!"
44-
#cache-dependency-path: | # optional
45-
#sub-project/*.gradle*
46-
#sub-project/**/gradle-wrapper.properties
47-
48-
# Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies.
49-
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
50-
# NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html).
51-
# If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version.
52-
53-
# - name: Setup Gradle
54-
# uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
55-
# with:
56-
# gradle-version: '8.5'
57-
#
58-
# - name: Build with Gradle 8.5
59-
# run: gradle build
60-
61-
dependency-submission:
62-
runs-on: ubuntu-latest
63-
permissions:
64-
contents: write
6514
steps:
66-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v3
16+
#JDK
6717
- name: Set up JDK 21
68-
uses: actions/setup-java@v4
18+
uses: actions/setup-java@v3
6919
with:
70-
java-version: "21"
71-
distribution: temurin
72-
- name: Generate and submit dependency graph
73-
uses: gradle/actions/dependency-submission@417ae3ccd767c252f5661f1ace9f835f9654f2b5
74-
#with:
75-
#build-root-directory: ./app
76-
77-
20+
java-version: '21'
21+
distribution: 'corretto'
22+
#cache: 'gradle'
23+
#Gradle
24+
- name: Setup Gradle
25+
uses: gradle/actions/setup-gradle@v4
26+
- name: Validate Gradle wrapper
27+
uses: gradle/actions/wrapper-validation@v4
28+
29+
#Build
30+
- name: Build with Gradle
31+
run: make mkBuild
32+
- name: Test with Gradle
33+
run: make mkTest
34+
35+
#UploadArtifact
36+
37+
- name: Upload artifacts
38+
uses: actions/upload-artifact@v3
39+
with:
40+
name: build-output
41+
path: build/libs/*.war
42+
43+
#Snyk
7844
snyk:
7945
runs-on: ubuntu-latest
8046
permissions: write-all
8147
steps:
8248
- uses: actions/checkout@v4
8349
- name: Run Snyk to check for vulnerabilities
84-
uses: snyk/actions/gradle-jdk21@master
50+
uses: snyk/actions/gradle@master
51+
continue-on-error: true
8552
env:
8653
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
8754
with:
@@ -94,13 +61,43 @@ jobs:
9461
with:
9562
sarif_file: snyk.sarif
9663

97-
# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
98-
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
99-
64+
# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
65+
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
66+
dependency-submission:
67+
runs-on: ubuntu-latest
68+
permissions:
69+
contents: write
70+
steps:
71+
- uses: actions/checkout@v4
72+
- name: Set up JDK 17
73+
uses: actions/setup-java@v4
74+
with:
75+
java-version: "17"
76+
distribution: temurin
77+
- name: Generate and submit dependency graph
78+
uses: gradle/actions/dependency-submission@417ae3ccd767c252f5661f1ace9f835f9654f2b5
10079

101-
#run-on multiOS
102-
#runs-on: ${{ matrix.os }}
103-
#strategy:
104-
#matrix:
105-
#os: [ubuntu-latest, macos-latest]
106-
80+
deploy:
81+
needs: build
82+
runs-on: ubuntu-latest
83+
if: github.ref == 'refs/heads/main'
84+
steps:
85+
- uses: actions/checkout@v3
86+
- name: Download artifacts
87+
uses: actions/download-artifact@v3
88+
with:
89+
name: build-output
90+
- name: Setup SSH key
91+
env:
92+
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
93+
SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }}
94+
run: |
95+
mkdir -p ~/.ssh/
96+
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
97+
chmod 600 ~/.ssh/id_rsa
98+
echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
99+
chmod 644 ~/.ssh/known_hosts
100+
- name: Deploy to Server
101+
run: |
102+
scp -o StrictHostKeyChecking=no build/libs/*.jar user@server:/path/to/project/
103+
ssh user@server "cd /path/to/project && java -jar your-app.jar &"

0 commit comments

Comments
 (0)