GIT ACTION [Java with gradle] -1-

KWON DEV·2024년 2월 3일
0
  1. 상단 메뉴의 Actions 클릭
  1. 그레이들을 이용한 자바프로젝트를 배포를 위해 해당 메뉴 선택
  1. 샘플파일 편집창 확인
  1. 본인의 환경에 맞게 편집

    name: Java CI with Gradle
    
    on:
      push:
        branches: [ "dev" ] #해당 깃 브런치에 Push가 발생할 경우 깃액션 실행
      pull_request:
        branches: [ "dev" ] #해당 깃 브런치에 Pull Request가 발생할 경우 깃액션 실행
    
    jobs:
      build:
        runs-on: ubuntu-latest
        env:
          working-directory: ./api #프로젝트 루트 디렉토리
    
        steps:	#깃액션 실행시 일련의 작업단위
          - name: Checkout repository	#깃액션 실행단위의 이름
            uses: actions/checkout@v2
    
          - name: Set up JDK 11			
            uses: actions/setup-java@v2
            with:
              java-version: '11'		
              distribution: "temurin"
    
          #Gradlew 권한 수정
          - name: Run chmod to make gradlew executable #
            run: chmod +x ./api/gradlew	
    
          #JAR 파일로 빌드
          - name: Build with Gradle
            run : |
                  cd api
                  ./gradlew clean bootJar --exclude-task test
    
          #JAR 파일 이동시킬 디렉토리 생성
          - name: Make Directory for deliver
            run : |
                  cd api
                  mkdir deploy
    
          #생성시킨 디렉토리로 JAR 파일 이동      
          - name : Copy jar
            run : |
                  cd api
                  cp ./build/libs/*.jar ./deploy/
    
           #라즈베리파이에 JAR 전송 
          - name: Transfer to Raspberry Pi
            uses: appleboy/scp-action@master #파일 전송은 scp-action
            with:
              host: ${{ secrets.RASPBERRY_PI_HOST }}
              username: ${{ secrets.RASPBERRY_PI_USERNAME }}
              key: ${{ secrets.RASPBERRY_PI_PRIVATE_KEY }}
              port: ${{ secrets.RASPBERRY_PI_PORT }}
              timeout: 40s
              source: "./api/deploy/api-server.jar"
              target: "/home/flanceskwon"
              strip_component: 1
    
           #쉘스크립트 실행
          - name: Exec script to Raspberry Pi
            uses: appleboy/ssh-action@master #쉘스크립트 명령은 ssh-action
            with:
              host: ${{ secrets.RASPBERRY_PI_HOST }}
              username: ${{ secrets.RASPBERRY_PI_USERNAME }}
              key: ${{ secrets.RASPBERRY_PI_PRIVATE_KEY }}
              port: ${{ secrets.RASPBERRY_PI_PORT }}
              timeout: 40s
              script: |
                whoami
                cd /home/flanceskwon/_deploy
                sh deploy.sh      
              
  2. 내용 저장 후 커밋&푸시 작업 후 깃액션 메뉴에서 해당 실행로그를 확인가능

  3. 개발진행시 위 파일과같이 푸시, 피알 작업이 일어나면 해당 깃액션 실행됨

profile
초보개발자

0개의 댓글