Elixir를 GitHubActions를 사용하여 CI하자.

5210 단어 GitHubActionsElixir
이 기사는 "fukuoka.ex Elixir/Phoenix Advent Calendar 2019"19 일째 기사입니다.
버섯은 @im_miolab의 "프로그래밍 언어 Elixir의 기타큐슈 커뮤니티 "kokura.ex"에 대해 이야기하겠습니다!"이었습니다.

소개



여러분, Elixir 개발로 CI하고 있습니까?
우리는 TravisCI 또는 CircleCI을 사용하는 프로젝트도 있습니다.

평상시는 GitHub 사용하고 있는데, 다른 서비스와 제휴하는 외로움을 느끼고 있었습니다.
GitHubActions이 베타 버전으로 사용할 수 있다는 것을 알고, 영혼이 떨렸습니다.
그래・・・ 사용해 보자!!라고 생각한 것입니다.

보충



GitHubActions는 이전 베타 버전이었지만, 2019년 11월 14일에 정식판이 되었습니다.
여러가지 할 수 있을 것 같습니다만, 이번은 CI 것만 하려고 생각합니다!!

그럼 해보자.



환경



다양한 상황에 따라 Elixir 버전은 오래되었습니다.
· elixir 1.6.6
· erlang 21.3.8.5

적절하게 Elixir / Phoenix 프로젝트를 만들고 시작합니다.


mix phx.new actions --no-brunch --no-ecto
mix phx.server

평소의 화면 표시를 확인(오랜만에 보았구나···)


아래 준비는 완료입니다!!



워크 플로우를 작성하기 전에 ...



그럼에도 불구하고 현재 디렉토리 바로 아래는 다음과 같습니다.
※ 검증을 위해 포맷터를 넣었습니다.
./              .formatter.exs  .gitignore      README.md       config/         lib/            mix.lock        test/
../             .git/           .idea/          _build/         deps/           mix.exs         priv/

모처럼이므로, GitHub 에 올릴 때입니다.

워크 플로우를 작성하자 !!



다음 파일을 만듭니다.
이번에는 풀릭이 오르면 테스트를 실행하여 포맷 체크를하는 내용입니다.

.github/workflows/elixir.yml
name: Elixir CI

on: pull_request

jobs:
  test:
    name: Build & Test & FormatCheck
    runs-on: ubuntu-latest

    container:
      image: elixir:1.6-otp-21
      env:
        MIX_ENV: test

    steps:
      - uses: actions/[email protected]
      - name: Install Dependencies
        run: |
          mix local.rebar --force
          mix local.hex --force
          mix deps.get
      - name: Run Test
        run: |
          mix test

      - name: Format Checks
        run: |
          mix format --check-formatted

이것을 작성 후, 풀릭을 작성하면 CI가 움직입니다.
※조금 타임 러그가 있으므로, 조금 기다려야 합니다・・・.


제대로 움직이고 있습니다 !!



CI 결과를 살펴보기



포맷 체크하고 있습니다만, 나는 mix format 하고 있지 않습니다.
절대 에러가 되어 있을 것이므로, 보겠습니다.



화가 났어. 그래, 알았어.



자세한 내용을 보면 형식 검사에서 오류가 발생했음을 알 수 있습니다.


▶를 열면 메시지를 볼 수 있습니다.


녹색으로 만들고 싶습니다 ...



포맷하지 않은 것이 원인이므로 포맷합니다.
mix format

포맷 완료 후 Push하면 CI가 움직입니다.


잠시 속눈썹 ...


イェ━━━━━ヽ( ゚Д゚)사람(゚Д゚ )ノ━━━━━━이!! 그린이 되었습니다!!!



이것으로 「평소는 GitHub 사용하고 있는데, 다른 서비스와 제휴하는 외로움」으로부터 개방입니다!!

요약



GitHubActions도 공식 버전이되었고,
눈치 채면 아티팩트를 사용할 수 있게 되어 있었습니다.
GitHub만으로 할 수 있게 되었으므로, 기회가 있으면 앞으로도 여러가지 만져 보고 싶습니다☆

내일의 「fukuoka.ex Elixir/Phoenix Advent Calendar 2019」 20일째의 기사는, ㅎㅎㅎ씨입니다—

좋은 웹페이지 즐겨찾기