Project Management/Github

github actions 자동 배포 : ssh-action 사용 방법

bluebamus 2023. 6. 4.

영상 : https://www.youtube.com/watch?v=Np64aq4AlLg 

참고 : https://github.com/appleboy/ssh-action

 

GitHub - appleboy/ssh-action: GitHub Actions for executing remote ssh commands.

GitHub Actions for executing remote ssh commands. Contribute to appleboy/ssh-action development by creating an account on GitHub.

github.com

1. ssh-action 설명

   1. 동작 정의 : github action의 yml 파일에서 ssh를 이용해 배포 작업을 지원한다.

   2. 주의 사항 : 리눅스 기반 컨테이너만 지원한다고 명시되어 있다. 

   3. 예시 : 

name: remote ssh command
on: [push]
jobs:
	build:
    	name: Build
        runs-on: ubuntu-latest
        steps:
        - name: executing remote ssh commands using key
          uses: appleboy/ssh-action@master
          with:
            host: ${{ secrets.HOST }}
            username: ${{ secrets.USERNAME }}
            key: ${{ secrets.KEY }}
            port: ${{ secrets.PORT }}
            script: |    // 버티컬바를 사용하면 여러 명령어를 순차 실행할 수 있다.
            	./deploy.sh

        1. 일반적으로 사용하는 aliace

            1. 사용 예시 : deploy='ssh -i ~/keys/okkyelk.pem ec2-user@okdevtv.com "./deploy.sh"'

            2. deploy.sh 소스 예시 :

#!/bin/sh
HOME=home/dev
source $HOME/.zshrc

git pull;

SRC=.
DEST=$HOME/local/okdevtv

cp -rf $SRC/* $DEST

cd $DEST

npm install

pm2 restart all

# end

            3. 참고 : https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-Alias-%EC%84%A4%EC%A0%95-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EC%A0%95%EB%A6%AC-%EB%8B%A8%EC%B6%95%EC%96%B4-%EC%98%88%EC%8B%9CTIP

 

🐧 리눅스 Alias 설정 & 사용법 정리 (+ 단축 예제 TIP)

리눅스 Alias 설정 Alias는 명령어를 간소화하여 다른 이름으로 사용할 수 있도록 해주는 쉘내부 명령어이다. 즉 복잡한 명령어나 여러 옵션을 사용하는 명령어를 간단한 이름으로 사용할 수 있도

inpa.tistory.com

         

 

   4. 환경 변수 설정 방법

      1. project의 settings에 Secrets라는 메뉴를 선택하여 등록 가능

   5. 확장 사용 방법

      1. 메일 혹은 slack 등으로 action 결과를 전달 받을 수 있음

 

 

댓글