github에 Actions는 push되는 브랜치에 대해 workflow를 자동화 해주는 도구다.
배포의 순서는 다음과 같다.
1. 소스를 수정한다.
2. git add, git commit 명령으로 소스관리를 한다.
3. git push로 github에 올린다.
4. ssh로 AWS EC2 인스턴스에 접속한다.
5. 원하는 작업폴더로 이동한다.
6. git reset --hard를 통해 현재 작업 위치인 HEAD의 포인터를 특정위치로 변경한다.
7. git fetch를 통해 리모트 저장소 데이터를 가져온다.
8. git pull을 통해 소스를 내려받는다.
4번 내용부터는 Github Actions로 자동화할 수 있다.
# This is a basic workflow to help you get started with Actions
name: deploy
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches:
- main
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
SSH:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run scripts in server
uses: appleboy/ssh-action@master
with:
key: ${{ secrets.SSH_KEY }}
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
script: |
cd server
git reset --hard
git fetch
git pull
안녕하세요
ssh_key는 어떻게 구해서 넣어야 할까요?
.ssh/authorized_keys 값인지 혹시 알 수 있을까요?