[github] Action 설정
Actions - set up a workflow yourself
코드 입력 - commit changes
name: devops test
on:
push:
branches: [ main ]
jobs:
deploy:
name: Deploy to EC2
runs-on: ubuntu-latest
steps:
- name: get code from github
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.REMOTE_PORT }}
script: |
echo test > /tmp/abcd
기본 workflows 코드
완료된 화면
Settings - Action - New repository secret
workflows에서 {{ }} 괄호 안에 작성한 것들의 Secrets 등록
REMOTE_HOST: 원격 서버의 공인 IP 주소나 도메인 이름입니다. 예를 들어, 1.1.1.1 또는 example.com과 같은 형태입니다. 파일을 복사할 서버의 위치를 지정합니다. 저는 AWS EC2에서 진행할 거라서 EC2 인스턴트에가면 있는 퍼블릭 IP를 입력해주었습니다.
REMOTE_PORT : 22
REMOTE_USER: 원격 서버에 접속하기 위한 사용자 이름입니다. 보통 root 대신 일반 사용자 계정을 사용하는 것이 보안상 좋습니다. 예를 들어, username과 같은 형태입니다. ex) ubuntu
SSH_KEY : SSH 접속에 사용할 개인 키 파일입니다. PEM 형식의 파일을 메모장 등으로 열어서 그 내용 전체를 복사해 사용합니다. 이 키는 원격 서버에 안전하게 접속하기 위해 필요합니다. EC2를 제작할때 받은 key.pem파일 내용을 넣으면 됩니다.
https://joygotohome.tistory.com/97
[AWS] EC2에 Spring Boot jar 파일 배포하기
배포를 위한 spring boot 샘플 프로젝트 빌드 배포를 위한 spring boot 샘플 프로젝트 빌드텅비어서 controller만 하나 있는 프로젝트를 build해줍니다. build/libs 위치에 있는 jar파일을 확인해 줍니다.
joygotohome.tistory.com
EC2 생성과 설정은 해당 글을 참고해 주세요.
github에서 설정을 완료하고
git pull을 하면 workflow가 생성되어 내려온것을 볼 수 있습니다.
코드를 수정한 수 push를 해줍니다.
지금 하려는건 EC2에 배포되어있는 코드를 자동 배포하여 /tmp/abcd라는 파일을 만들려고 합니다.
tml폴더에 쓰기 권한을 줘야해서 AWS ec2에서 /tmp 폴더 권한을 열어주었습니다.
github의 Action에 가면 커밋한 내용이 잘 돌아간것을 확인할 수 있습니다.
github에 push만 하였을 뿐인데 AWS EC2의 /tmp 폴더에 abcd 파일이 만들어진것을 확인할 수 있습니다.
'IT관련 > Git' 카테고리의 다른 글
[git] stash 수정한 파일 임시 저장 (0) | 2024.07.20 |
---|---|
[git] branch 생성/병합/삭제/그래프 (2) | 2024.07.20 |
[git] commit 취소 (0) | 2024.07.20 |
[git] git log -p, git diff 변경사항 확인하기 (0) | 2024.07.20 |
[git] stage area : 특정 파일만 commit, 전체 파일 commit (0) | 2024.07.20 |