반응형

깃허브에서는 Action이란 탭에서 작업을 한다.

 

여기서 새로운 workflow를 만들어준다.

 

new workflow를 누른다.

 

여기서 set up a workflow yourself를 누른다.

 

 

 

위와 같은 화면이 나오면 

 

 

이렇게 입력한다.

 

name: Code deploy

on:
  workflow_dispatch:
  push:
    branches:
      - main
      
jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Create SSH Key
        run: |
          echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/private-key.pem
          chmod 600 ~/private-key.pem
      - name: Create SSH directory
        run: |
          mkdir -p ~/.ssh
      - name: Add known host
        run: |
          ssh-keyscan ${{ secrets.REMOTE_HOST }} >> ~/.ssh/known_hosts
      - name: Copy files to remote server
        run: |
          ssh -i ~/private-key.pem ${{ secrets.REMOTE_USER }}@${{ secrets.REMOTE_HOST }} "cd ${{ secrets.WORK_DIR }} && git checkout ${{ secrets.MAIN_BRANCH }} && git pull && exit"
          echo "Copied files to remote server"

 

변수들은 아직 안만들었다. 일단 이렇게 넣는다. 넣고 저장한다. Commit Changes를 눌러 저장한다.

 

그러면 아래와 같이 빨간색 버튼이 나온다.

 

 

변수를 안만들었기때문인다. 변수를 만들어보자.

 

https://github.com/깃허브아이디/laravelblog/settings/secrets/actions

 

위 페이지로 이동한다.

 

위 화면처럼 변수를 만들어 주자 New repository secret 버튼을 눌러 등록한다.

 

MAIN_BRANCH : 메인으로 사용하는 branch명 보통은 main이다
REMOTE_HOST : 웹서버 주소
REMOTE_USER : 웹서버 아이디
SSH_PRIVATE_KEY : 웹서버에 접속할 프라이빗키
WORK_DIR : 웹서버 경로

 

여기서 프라이빗키는 아직 안만들었다. 프라이빗키는 다음 시간에 만들어보자.

 

반응형

+ Recent posts