인프런 커뮤니티 질문&답변

송민철님의 프로필 이미지

작성한 질문수

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

배포용 Workflow 만들기

deploy.yml이 workflow에서 작동되지 않는 이유

작성

·

375

·

수정됨

0

섹션 4의 "배포용 Workflow 만들기"를 수강 중 deploy.yml이 진행되지 않습니다..

test.yml은 진행이 잘 됩니다

뭐가 문제일까요?
.yml 파일 작성할 때 들여쓰기가 상관이 있나요?

아래는 작성한 deploy.yml 파일입니다.

추가로 한 탭씩 들여쓰기 하지 않고 중간 중간에 스페이스 두 번으로 들여쓰기 하는게 있는데, 규칙인가요?

- (대시)기호 이것도 규칙인가요? 안 적으면 실행이 안되는건가요?


name: deploy

on:
    push:
      branches:
        - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Set up SSH
        run: |
            mkdir -p ~/.ssh/
            echo "${{secrets.SSH_PRIVATE_KEY}}" > ~/.ssh/id_rsa
            chmod 600 ~/.ssh/id_rsa
      - name: Set up known hosts
        run: |
         echo "${{secrets.SSH_KNOWN_HOSTS}}" >> ~/.ssh/known_hosts
         chmod 644 ~/.ssh/known_hosts
      - name: SSH and deploy
        run: |
         ssh ${{secrets.SSH_USERNAME}}@${{secrets.SSH_PUBLIC_IP}} "
          cd express
          git pull || exit 1
          npm install || exit 1
          npm run build || exit 1
          sudo pkill node || exit 1
          sudo npm run start & || exit 1
          sudo npm run start & npx wait-on http://localhost
          exit
         "

 

 

 

답변 2

1

김시훈님의 프로필 이미지
김시훈
지식공유자

안녕하세요~

음 일단 이렇게만 봐서는 저도 정확한 원인을 알 수가 없습니다.

 

마지막에 보면 npm run start가 중복으로 되어 있는데 강의에서도 제가 그렇게 했었나요??

이 workflow 배포하실 때 github action에 들어가면 상세한 로그가 나오는데 그걸 보고 디버깅을 해보셔야할듯 합니다. 그래도 해결안되면 해당 로그를 공유해주세요!

송민철님의 프로필 이미지
송민철
질문자

아.. 해결했습니다.

깃 브랜치가 저는 main이 아닌 master여서 문제가 발생했습니다

0

저도 안되요

name: deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Debug SSH_USERNAME and SSH_PUBLIC_IP
        run: |
          echo "SSH_USERNAME: ${{ secrets.SSH_USERNAME }}"
          echo "SSH_PUBLIC_IP: ${{ secrets.SSH_PUBLIC_IP }}"

      - name: Set up SSH
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa

      - name: Set up known hosts
        run: |
          echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
          chmod 644 ~/.ssh/known_hosts

      - name: SSH and deploy
        run: |
          ssh ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_PUBLIC_IP }} "
            cd sample_express2
            git pull || exit 1
            npm install || exit 1
            npm run build
            sudo pkill node || exit 1
            sudo npm run start & npx wait-on http://localhost
            exit
          "

김시훈님의 프로필 이미지
김시훈
지식공유자

이건 ssh 키들 중에서 뭔가 설정이 잘못된 경우 같습니다. ssh username, public ip가 잘못된걸 수도 있고 ssh private key에 문제가 있을 수도 있습니다.