저는 Oracle Cloud에 가상서버를 실행했습니다.
👆🏻 이 전글을 확인하시면 Oracle Cloud로 가상서버 띄울 수 있습니다.
Oracle Cloud 가상 서버 띄우기
이후, Github Actions을 통해 업데이트 된 프로젝트를 배포파일로 만든 후, 실행했지만 가상서버에서는 해당되는 port가 존재하지 않았습니다.
이유는 매우 간단했습니다.
Github Actions에서 테스트 한 것은 생성한 가상서버에서 한 것이 아닌, 자체 Github Actions 내부에서 실행해서 발생했던 문제였습니다.
Github Actions에서 ssh를 통해 생성한 가상서버에 접근하면 됩니다.
Github Repository -> Settings -> Secrets and variables(클릭) -> Actions
✔️ Repository secrets을 추가해주자
Secrets에서 New repository secret를 통해 총 4개의 secrets를 추가했습니다.
REMOTE_IDENTITYFILE
: security key (인스턴스 생성할 때 발급받는 RSA PRIVATE KEY)
BEGIN ~ END 복사해서 붙여넣기
REMOTE_IP
: IP주소 (저는 129.154.xxx.xxx)
REMOTE_PORT
: 22
REMOTE_USER
: Oracle Cloud ID (를 입력하시면 됩니다.)
✔️ Github Actions에서 밑의 소스를 추가한 후
name: Java CI with Gradle
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.3.0
- name: execute remote ssh
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_IP }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.REMOTE_IDENTITYFILE }}
port: ${{ secrets.REMOTE_PORT }}
script: |
whoami
ls -al
✔️ 현재 가상서버에는 어떤 파일이 있을까?
현재 가상서버에는 chang, test가 존재합니다.
✔️ Github에 push를 통해 Github Actions을 실행시켜 볼께요!
✔️ push 후 Github Actions 빌드 실행 중...
✔️ deploy에서 execute remote ssh를 확인하자
정상적으로 ssh를 통해 생성한 가상서버에 접근한 것을 확인할 수 있습니다.
개인적으로 Oracle Cloud에서 생성한 가상서버 자체에서 빌드를 실행해서 배포파일 만들고 실행까지
서비스에 많은 영향을 주지 않을까? 라는 생각을 하게 됐습니다.
다른 방안이 있는지 알아본 후, 되도록 이면 성능 개선을 해보겠습니다.
참고사항