[CI/CD] git actions 를 이용하여 메인 브랜치에 자동 push 하기

BinaryWoo_dev·2023년 5월 2일
1

CI/CD

목록 보기
1/1

서론


최근에 시작한 개인 토이 프로젝트를 진행하다가 문득 develop 브랜치에 push 를 하면, 자동으로 main 브랜치에 merge 및 push 를 해주는 자동화 시스템을 구축하면 어떨까 하는 생각이 들었다.
(신규 기능 및 이슈 수정은 develop 으로부터 분기한 후 작업하고 다시 Pull&Request 를 거친 후 develop 브랜치로 merge 하고 있다. )

본론


git Actions 으로 main 브랜치에 자동 merge 하기

workflows yml 스크립트 코드

  • .github/workflows/merge.yml
name: Merge Dev to Main

on: # 발생 이벤트 타입
  push: # push 이벤트 발생 시
    branches: # 타겟 브랜치
      - dev

jobs: # 실행 작업 코드
  merge: # merge 실행
    runs-on: ubuntu-latest

    steps:
      - name: Checkout main branch # 'main' 브랜치로 branch checkout
        uses: actions/checkout@v2
        with:
          ref: 'main'
          fetch-depth: '0'

      - name: Configure Git # commit을 위한 git config 설정
        run: |
          git config user.name JinWoo_Lee
          git config user.email dlwlsdn201@naver.com

      - name: Merge dev branch # main 브랜치에서 dev 브랜치를 merge
        run: |
          git merge origin/dev --no-edit

      - name: Push changes to main branch # merge 내용들을 main 브랜치로 최종 push
        uses: ad-m/github-push-action@master
        with:
          branch: main
          github_token: ${{ secrets.GITHUB_TOKEN }}

결론


  • 아주 가벼운 스크립트 코드이지만 git actions 의 기본적인 작동 방식을 알아볼 수 있었다.
  • 회사 프로젝트에서 사용 중인 bitbucket 버전 관리 플랫폼에서 제공하는 pipelines과 github에서 git actions 는 명칭만 다를 뿐 같은 역할을 하는 기능 도구이다.
profile
매일 0.1%씩 성장하는 Junior Web Front-end Developer 💻🔥

2개의 댓글

comment-user-thumbnail
2024년 2월 19일

충돌나면 어떻게 하나요? 충돌난채로 실서버에 올라가면 에러나지 않나요?

1개의 답글