[aws] ci-cd ์ค‘ error : git actions

Updated:

Categories:

Tags: , ,

๐Ÿ“Œ ๊ฐœ์ธ์ ์ธ ๊ณต๊ฐ„์œผ๋กœ ๊ณต๋ถ€๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
์ •ํ™•ํ•˜์ง€ ์•Š์€ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค :๐Ÿ˜ธ
[ํ‹€๋ฆฐ ๋‚ด์šฉ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋ณต๋ฐ›์œผ์‹ค๊ฑฐ์—์š”]

์ž๋™ ๋ฐฐํฌ ์—๋Ÿฌ ์ •๋ฆฌ with Git Actions

error 1 : git action gradle class not exception

๋ถ€๋„๋Ÿฌ์šด ์‹คํŒจ์˜ ๊ธฐ๋ก

  1. ๋ฌธ์ œ

    1
    2
    
     --output text
     mv: cannot stat 'gradle-7.6.1/gradle/wrapper/gradle-wrapper.jar': No such file or directory
    

    ํ•ด๋‹น gradle์— ๋Œ€ํ•œ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ์ด ๋งŒํผ์ด๋‚˜ ์‹คํŒจํ–ˆ๋‹ค.

  2. ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ main.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
    
     name: Java CI with Gradle
     on:
       push:
         branches: [ main, dev ]
     jobs:
       build:
         runs-on: ubuntu-latest
            
         steps:
           - uses: actions/checkout@v2
              
           - name: Set up JDK 11
             uses: actions/setup-java@v2
             with:
               java-version: '11'
               distribution: 'zulu'
              
           - name: Create Gradle Wrapper
             working-directory: ./server
             run: |
               mkdir -p gradle/wrapper
               wget https://services.gradle.org/distributions/gradle-7.6.1-bin.zip
               unzip gradle-7.6.1-bin.zip
               mv gradle-7.6.1/gradle/wrapper/gradle-wrapper.jar gradle/wrapper/
               mv gradle-7.6.1/gradle/wrapper/gradle-wrapper.properties gradle/wrapper/
               chmod +x gradlew
              
           - name: Build with Gradle
             working-directory: ./server
             run: ./gradlew build -x test
        
           - name: Docker build
             run: |
               docker login -u $ -p $
               docker build -t meetbti .
               docker tag meetbti hyejipark/meetbti:${GITHUB_SHA::7}
               docker push hyejipark/meetbti:${GITHUB_SHA::7}
        
           # AWS credentials configuration
           - name: Configure AWS credentials
             uses: aws-actions/configure-aws-credentials@v1
             with:
               aws-access-key-id: $
               aws-secret-access-key: $
               aws-region: ap-northeast-2
        
           - name: Deploy to Server
             env:
               AWS_ACCESS_KEY_ID: $
               AWS_SECRET_ACCESS_KEY: $
               AWS_REGION: ap-northeast-2
             run: |
               aws ssm send-command \
                 --instance-ids i-0eb0e2bbd5b50659e \
                 --document-name "AWS-RunShellScript" \
                 --parameters "commands=[
                   'if sudo docker ps -a --format \\'\\' | grep -q \\'^server$\\'; then',
                   '  sudo docker stop server',
                   '  sudo docker rm server',
                   'fi',
                   'sudo docker pull hyejipark/meetbti:${GITHUB_SHA::7}',
                   'sudo docker tag hyejipark/meetbti:${GITHUB_SHA::7} meetbti',
                   'sudo docker run -d --name server -p 8080:8080 \\
               -e DATASOURCE_URL=$ \\
               -e DATASOURCE_USERNAME=$ \\
               -e DATASOURCE_PASSWORD=$ \\
               -e G_CLIENT_ID=$ \\
               -e G_CLIENT_SECRET=$ \\
               -e JWT_SECRET_KEY=$ \\
               -e EMAIL_USERNAME=$ \\
               -e EMAIL_PASSWORD=$ \\
               -e ADMIN_MAIL=$ \\
               -e AWS_ACCESS_KEY=$ \\
               -e AWS_SECRET_ACCESS_KEY=$ \\
               -e AWS_S3_BUCKET=$ \\
               meetbti'
                 ]" \
    
  3. gradle-wrapper.jar ์ถ”๊ฐ€

    gradle-wrapper.jar ํŒŒ์ผ์ด ๋‹น์—ฐํžˆ ์žˆ๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ ์•Œ๊ณ  ๋ณด๋‹ˆ repository์— ์—†์—ˆ๋‹ค..๐Ÿซ 

    ๋„ˆ๋ฌด ๋‹น์—ฐํžˆ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๊ณ  ์ด ๋•Œ ๋™์•ˆ ๋ฐฐํฌ ๊ณผ์ •์—์„œ๋„ ์ด๋Ÿฐ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚œ ์  ์ด ์—†์–ด์„œ ๋‚ด๊ฐ€ ํ™˜๊ฒฝ์ด ์ข€ ๋ฐ”๋€ ๊ฒƒ์ด ์žˆ์–ด์„œ ๊ฑฐ๊ธฐ์— ๋Œ€ํ•œ ๋ฌธ์ œ์ธ๊ฐ€ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋ฌด์Šจโ€ฆ ์ด๋Ÿฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„ ์‚ฌ๋ฅด๋ฅด ๋…น์˜€๋‹คโ€ฆใ…Ž

    ๊ฒฐ๊ตญ์—๋Š” ์ง„์งœ gradle-wrapper.jar๊ฐ€ ์—†์–ด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

    ์ถ”๊ฐ€ ํ›„์—๋Š” ๋‹ค๋ฅธ ์—๋Ÿฌ ๋ฐœ์ƒ !

error 2 : Docker build ์‹คํŒจ :

  1. ๋ฌธ์ œ

  2. ์›์ธ

    1
    2
    
     ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
     Error: Process completed with exit code 1.
    

    dockerfile์ด ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

    ๋‹ค์‹œ ๋ณด๋‹ˆ๊นŒ.. Dockerfile์ด๋ผ๊ณ  ํ•ด์•ผ๋˜๋Š”๋ฐ Dockerflle๋กœ ๋˜์–ด์žˆ์—ˆ๋‹คโ€ฆ๐Ÿซ 

  3. ์˜คํƒ€ ์ˆ˜์ • ํ›„ ํ•ด๊ฒฐ

error 3: Deploy to Server : InvalidSignatureException

์˜คํƒ€ ์ˆ˜์ •ํ–ˆ๋”๋‹ˆ ์ด๋ฒˆ์—๋Š” Deploy to Server ์—ฌ๊ธฐ์„œ ๋ฐœ์ƒ

  1. ๋ฌธ์ œ ๋ฐœ์ƒ ๋ฐ ์›์ธ

    ์•„๋ฌด๋ž˜๋„ aws key๊ฐ€ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค..

  2. ํ•ด๊ฒฐ

    ์—ฌ๊ธฐ๋ž‘ Setting์—์„œ aws accesskey๋ž‘ secretkey ๋‹ค์‹œ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ–ˆ๋”๋‹ˆ ํ•ด๊ฒฐ

์™„์„ฑ!!


์ด์ œ client ๋ฐฐํฌ๋ž‘ https ์ ์šฉ ๋‚จ์•˜๋‹ค..

cloud ์นดํ…Œ๊ณ ๋ฆฌ ๋‚ด ๋‹ค๋ฅธ ๊ธ€ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

Leave a comment