Github 블로그 배포 Travis에서 Github Actions으로 전환

현재 Github 블로그는 minimal-mistakes 를 Fork하여 사용중이다.

minimal-miskakes는 Ruby로 작성된 Jekyll을 이용하여 내가 작성한 마크다운 파일을 HTML으로 변환하여 정적 사이트로 만들어준다.

minimal-miskakes는 기본적으로 Travis를 이용해서 Ruby로 빌드하고 Algolia(블로그에서 검색을 담당) 등과 연동 되도록 되어 있다.

Travis가 유료 플랜으로 전환되었고 무료 플랜은 10,000 크래딧까지 무료로 이용할 수 있다.

현재 내 계정은 약 8000 크래딧이 남은 상태이기 때문에 한 동안 사용하는데는 문제가 없지만 결국에는 유료플랜으로 전환해야될 것 같아서 미리 Github Actions으로 변경하기로 하였다.

image-20231107163450566

물론 Github Actions가 완전 무료는 아니다.

  • 공개 Repository는 무료.

  • 비공개 Repository일 경우 아래 표만큼 무료이고 그 이상 사용할 시 과금이 발생한다. Github Actions 요금 정보

    image-20231107165316206

Github에서는 Travis에서 Github Actions으로 전환할 때 도움이 되는 문서를 제공하고 있다. (아래 url 참고)

https://docs.github.com/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions

https://docs.github.com/en/actions/quickstart

문서를 본 다음 혹시나 하는 마음으로 chatgpt에게 travis.yml을 github actions으로 변환하는 방법을 알려달라고 했더니 친절하게 알려주었다.

.travis.yml 파일을 삭제하고 .github/workflows/build.yml 파일을 아래와 같이 생성해준다.

기존 .travis.yml 내용

language: ruby
cache: bundler
before_install:
  - gem install bundler
gemfile: ./Gemfile
script:
  - bundle exec jekyll build
  - bundle exec jekyll algolia
branches:
  only:
    - master
rvm:
 - 2.4

.github/workflows/build.yml


name: Build and Deploy

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 2.7

    - name: Install Bundler
      run: gem install bundler

    - name: Install dependencies
      run: bundle install

    - name: Build Jekyll site
      run: bundle exec jekyll build

    - name: Deploy to Algolia (replace with your deployment step)
      run: bundle exec jekyll algolia
      env:
        ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}

Github에 push하기전에 아래 두가지 작업을 해준다.

  1. ALGOLIA를 사용하므로 ALGOLIA_API_KEY를 등록한다.

    Github 해당 Repository > Settings > 좌측 메뉴에서 Secrets and variables 클릭.

    우측화면에서 New repository secret 버튼 클릭.

    Name: ALGOLIA_API_KEY

    Secret: 키값

    Add secret 버튼 클릭

  2. push하기전에 github 인증 token을 편집하여 Select scopes에 workflow를 추가하여 update Token한다.

Github에 push를 하게되면 아래와 같이 Actions탭에서 빌드되는 것을 확인할 수 있다.

image-20231107132028508

댓글남기기