얼마전 취업 코딩과제로 받았던 Movie App 만들기에 GithubAction을 달아서 Push시 자동 Deploy가 되도록 만들었다.
구글 검색을 열심히 해가며 프로젝트에 적용하는것은 어렵지 않았지만, 그래도 적지 않은 시간이 들었다.
시간이 지나서 또 필요한 상황이 왔을때 간단한 검색만으로 빠르게 적용하기 위해 내 것으로 만드는 시간을 가져보려 한다.
Github Action
Github 저장소의 Workflow를 자동화 하기위한 도구이다.
아래 YAML 코드는 Push하면 자동으로 deploy 하게 만드는 Github Action이다.
name: Auto Deploy # deploy source on: push: branches: [ main ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@master with: node-version: 14.x - name: Cache node_modules uses: actions/cache@v1 with: path: node_modules key: ${{runner.OS}}-build-${{hashFiles('**/yarn.lock')}} restore-keys: | ${{ runner.OS }}-build-${{ runner.OS }}- - name: Install dependencies run: | npm install npm run build - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{secrets.ACCESS_TOKEN}} publish_dir: ./build
GitHub Action을 만드는 방법

Github의 본인의 repo에 접속해 Actions 탭으로 들어간다.

Node, Deno 등등 여러가지 제공하는 Workflows가 있다.
하지만 다 필요없고 set up a workflow yourself ->
를 누른다
Workflow의 간단한 사용법을 정리해봤다.
name: CI # workflow의 이름 on: # Workflow가 동작하는 조건 push: # git push를 하면 동작 branches: [ main ] # main 브랜치만 트리거하게끔 함 pull_request: branches: [ main ] # Actions 탭에서 이 워크플로를 수동으로 실행할 수 있습니다. workflow_dispatch: jobs: # 수행할 작업들 build: # 작업의 이름 runs-on: ubuntu-latest # 가상환경 인스턴스 steps: # job에서 수행할 작업들을 순서대로 나열 - uses: actions/checkout@v2 # 외부의 Action을 가져옴 - name: Run a one-line script # 수행할 목록의 이름 run: echo Hello, world! # 수행할 명령어, 단일 명령을 수행함. with: # Action에 넘겨주는 파라미터 path: 'static-site-generator' # uses에 적혀있는 Action에 해당 값을 넘겨준다. - name: Run a multi-line script run: | # 수행 할 명령어, 여러가지 명령을 수행함 echo "Hello $FIRST_NAME $middle_name $Last_Name, today is Monday!" echo test, and deploy your project. env: # 환경 변수값 정의, 위 명령어에서 사용가능 FIRST_NAME: Mona middle_name: The Last_Name: Octocat
이제 위에 쓰여진 사용법을 토대로 deploy하는 github action을 스스로 분석해서 적용해보자.
추가로 actions-gh-pages은 v2와 v3의 사용법이 다르다.
v2의 경우 토큰이나 배포 폴더등을 env로 지정하지만, v3는 with로 사용해야 한다. 이것때문에 많이 헤맸다.
'프로그래밍 > 알고리즘' 카테고리의 다른 글
프로그래머스 - 프린터 (0) | 2021.04.08 |
---|---|
프로그래머스 124 나라의 숫자 (0) | 2021.04.08 |
프로그래머스 KAKAO 2019 문제 - 오픈채팅방 (0) | 2021.04.03 |
프로그래머스 KAKAO 2021 문제 - 신규 아이디 추천 (0) | 2021.04.03 |
프로그래머스 KAKAO 2019 문제 - 크레인 인형 뽑기 (0) | 2021.04.02 |