SSH를 통해 원격 서버에 접속하고, 테스트 할 수 있는 좋은 코드를 cross-the-world/ssh-pipeline@master 해당 액션을 통해 올려둬서 사용해보았다.
- name: ssh pipelines
uses: cross-the-world/ssh-pipeline@master
env:
WELCOME: 'ssh pipeline'
with:
host: ${{ secrets.SSH_PRIVATE_KEY }}
user: ${{ secrets.SERVER_USER }}
port: ${{ secrets.PORT }}
connect_timeout: 10s
script: |
(rm -rf /home/github/test || true)
ls -la
echo $WELCOME
mkdir -p /home/github/test/test1 &&
mkdir -p /home/github/test/test2 &&

github action을 사용하면 secret을 사용해서 위처럼 코드를 작성할 수 있다.
SSH_PRIVATE_KEY: 서버의 비밀키인 id_rsa의 값을 붙여넣고,
SERVER_USER: 서버에 접속하는 유저명
PORT: 포트번호
secret의 사용이 필요한 프로젝트에 들어가 setting탭 클릭 -> Security의 Secrets and variables -> Action클릭 -> New repository secret 클릭해서 새로운 secret 생성

위처럼 secret 설정과 코드를 다 짜 넣었으면
push해서 올려준 다음,
workflow가 다 진행되면 아래처럼 나온다!

실패하면 빨간색 X나온다...
자동 배포를 위해 연결을 했으니, 다음 번에는 자동으로 우분투 서버에 있는 파일에 pull이 되도록 코드를 작성해서 글을 작성해봐야겠다.
windows Defender 방화벽에서 인바운드 규칙 클릭 -> 새 규칙

규칙 종류 포트 선택하고 다음 클릭

allow시켜줄 포트번호 넣고 다음 클릭

계속 원하는 설정 해주며 다음다음 클릭하면 끝
