깃허브에서는 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 : 웹서버 경로
여기서 프라이빗키는 아직 안만들었다. 프라이빗키는 다음 시간에 만들어보자.
'PHP' 카테고리의 다른 글
[라라벨]기존 테이블을 라라벨 모델로 등록하기 #1 (0) | 2024.05.23 |
---|---|
[PHP]Jenkins(젠킨스)없이 github(깃허브)만으로 서버에 배포하기 #4 (0) | 2024.05.21 |
[PHP]Jenkins(젠킨스)없이 github(깃허브)만으로 서버에 배포하기 #2 (0) | 2024.05.21 |
[PHP]Jenkins(젠킨스)없이 github(깃허브)만으로 서버에 배포하기 #1 (0) | 2024.05.21 |
글쓰기의 제목이나 첨부 파일명으로 해킹하려고 할때 필터링하는 함수 feat.XSS (0) | 2024.04.08 |