본문 바로가기

GIT

<Git Action> 배포 자동화 설정해보기 - 1. secret 설정해서 테스트해보기

 

 

 

 

git action 해보기...!!!  배포 자동화 해본다해본다 하다가 드디어 해봤다.

내가 갖고있는 기초서적에는 git action에 대한 설명이 없길래 검색을 하다가 카카오기술블로그가 나왔다...!

여기에서 검색만해도 볼게 많아 보이니 필요한사람은 같이 보면 좋을 것 같다.  밑에 링크 첨부!

 

 

1. 민감정보 설정 / git secret 설정하기

- 내가 배포 자동화하고 싶은 레파지토리에 들어가서 setting 으로 간다.

- secrets ~ => Actions => New repository secret 을 누르면 된다

- 환경 변수라던가 비밀번호, 인증서 같은 내용을 적어두면된다. ( 나는 첫 배포할때 vim으로 파일을 생성해서 직접 만들었었다.....ㅠ)

* 내용에 mysecret = '블라블라'가 아니라 딱 그 값만 넣어두면 된다.

 

 

 

 

 

나는 일단 예시로 TELL_ME_NAME 을 하나 넣어놨다.

 

 

 

일단 이렇게 생성해두면 각각 값에 접근해서 사용할 수 도, secret 값들을 취합해서 .env를 생성해서 사용할 수 도 있다. 이건따로 또 적어두겠다.

 

 

 

 

2. 코드 작성하기

- 내가 action을 설정할 프로젝트에 들어가서 다음과 같이 폴더와 파일을 만들었다

- .github/workflows 에 test-evry-push.yml 생성

 

 

 

이제 코드를 적어보자 기술블로그를 참고해서 적어보았다.

 

내가 지정해놓은  TELL_ME_NAME의 secret을 가져온 값이 설정해둔 것과 같으면 same을 뱉도록 해놨다.

진짜 댕빡치게  secret 에다가 s를 안붙이는 오타 대참사가 일어나서 좀 헤맸다

오타를 주의하자

 

 

name: 'test-every-push'

# workflow를 동작하게 할 트리거
# 레파지토리의 main브런치에 push 이벤트가 발생할 때마다 실행될 것이다. +) push말고 다른 이벤트도 있음
on: 
  push:
    branches: [ main ] 

  # 작업탬에서 수동으로 테스트 가능하게 하기
  workflow_dispatch:

jobs:
  test:
    name: Test lint

    # 해당 job을 리눅스 환경에서 사용할 예정이다.
    runs-on: ubuntu-latest

    # job 안의 step 키워드는 누군가 만들어둔 action을 사용할 수 도 있고
    # shell script를 실행할 수 도 있다.
    steps:
      # github action은 해당 프로젝트를 이눅스 환경에  checkout하고 나서 실행한다.
      # 깃에 브랜치를 만들때 checkout하는 것처럼 꼭 필요함!!!!
      # 누군가 만든 Action을 사용할 때는 uses라는 키워드가 꼭 필요하다.
      - uses: actions/checkout@v2

      - name: Run a multi-line script
        run: |
          echo Add other actions to build,
          echo test, and deploy your project.

      - shell: bash
        name: Secret Test
        env:
          TEST_SECRET: ${{ secrets.TELL_ME_NAME }}
        run: |
          if [ $TEST_SECRET==PEPPER ]; then echo same; fi

 

작성해서 커밋, 푸시한 다음 레파지토리로 간다

 

 

 

3. 액션확인하기

- 레파지토리로 가서 actions 탭을 확인해보면

- 내가 설정해놓은 action 이름과 커밋문구가 보인다!!!! 들어가보자

 

 

이렇게 누가 푸시했는지와

 

요로코롬 테스트 명을 지정해준대로 떠있다.

 

 

 

 

 

 

찬찬히 뜯어보면 job을 셋팅하고 그 안의 steps를 확인한다음

내가 name을 지정해준 단계들을 각각 실행해준 것이 보인다.

그리고 값을 ***로 가려준다. 와... 설정하는 법만 알면 진짜 완전 편리할것 이라는게 보인다....

 

일단 이렇게 secret값을 가져오는 테스트를 해봤으니 다음 글에 .env 를 생성하는 법을 공부해서 적어야겠다.

 

 

+) 참고

https://fe-developers.kakaoent.com/2022/220106-github-actions/

 

 

 

728x90