Skip to content

Commit 389351c

Browse files
committed
Feat: change dev CICD pipline
1 parent d6ca0cc commit 389351c

File tree

1 file changed

+40
-47
lines changed

1 file changed

+40
-47
lines changed

.github/workflows/ci-cd-test.yml

Lines changed: 40 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,63 @@ name: CI/CD Pipeline
22

33
on:
44
push:
5-
branches: [ main, develop, feat/CICD ]
6-
7-
env:
8-
AWS_REGION: ${{ secrets.AWS_REGION }}
9-
AWS_ECR_IAM_ROLE: ${{ secrets.AWS_ECR_IAM_ROLE }}
10-
AWS_ECR_URL: ${{ secrets.AWS_ECR_URL }}
11-
AWS_ECR_REPOSITORY: ${{ secrets.AWS_ECR_REPOSITORY }}
5+
branches: [ develop, feat/CICD ]
126

137
jobs:
14-
build-and-deploy:
8+
build:
9+
name: Build and push Docker image
1510
runs-on: ubuntu-latest
1611

17-
permissions:
18-
id-token: write
19-
contents: write
20-
2112
steps:
22-
# code checkout
2313
- name: Checkout code
2414
uses: actions/checkout@v3
2515

26-
# JAVA 17 for build
16+
- uses: actions/checkout@v3
2717
- name: Set up JDK 17
28-
uses: actions/setup-java@v4
18+
uses: actions/setup-java@v3
2919
with:
30-
distribution: 'temurin'
3120
java-version: '17'
21+
distribution: 'adopt'
3222

33-
# build project
3423
- name: Build with Gradle
3524
run: |
36-
./gradlew build
25+
chmod +x ./gradlew
26+
./gradlew clean build -x test
3727
38-
# aws auth
39-
- name: Configure AWS credentials
40-
uses: aws-actions/configure-aws-credentials@v4
28+
- name: Login to Docker Hub
29+
uses: docker/login-action@v2
4130
with:
42-
role-to-assume: ${{ env.AWS_ECR_IAM_ROLE }}
43-
aws-region: ${{ env.AWS_REGION }}
44-
mask-aws-account-id: 'no'
45-
46-
# login ECR
47-
- name: Login to Amazon ECR
48-
id: login-ecr
49-
uses: aws-actions/amazon-ecr-login@v2
31+
username: ${{ secrets.DOCKER_USERNAME }}
32+
password: ${{ secrets.DOCKER_PASSWORD }}
5033

51-
# set docker buildx
52-
- name: Set up Docker Buildx
53-
uses: docker/setup-buildx-action@v3
34+
- name: Build Docker image
35+
run: docker build -t devsolfe/server:latest .
5436

55-
# make docker image tag
56-
- name: Extract metadata tags for Docker
57-
id: meta
58-
uses: docker/metadata-action@v4
59-
with:
60-
images: ${{ env.AWS_ECR_URL }}/${{ env.AWS_ECR_REPOSITORY }}
61-
tags: |
62-
type=sha,prefix=${{ github.run_id }},format=short
37+
- name: Push Docker image to Docker Hub
38+
run: docker push devsolfe/server:latest
6339

64-
# docker build&push
65-
- name: Build and push
66-
uses: docker/build-push-action@v4
40+
deploy:
41+
name: Deploy
42+
needs: build
43+
runs-on: ubuntu-latest
44+
steps:
45+
- name: executing remote ssh commands using ssh key
46+
uses: appleboy/ssh-action@master
6747
with:
68-
context: .
69-
tags: ${{ steps.meta.outputs.tags }}
70-
provenance: false
71-
push: true
48+
host: ${{ secrets.SERVER_HOST }}
49+
username: ${{ secrets.SSH_USERNAME }}
50+
key: ${{ secrets.SSH_KEY }}
51+
port: ${{ secrets.PORT }}
52+
script: |
53+
docker pull devsolfe/server:latest
54+
55+
if [ "$(docker ps -aq -f name=server)" ]
56+
then
57+
echo "[ spring is running ]"
58+
docker stop server
59+
docker rm server
60+
else
61+
echo "[ spring is not running ]"
62+
fi
63+
64+
docker run -d --name server -p 80:8080 devsolfe/server

0 commit comments

Comments
 (0)