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/
'GIT' 카테고리의 다른 글
<GIT> gitbash push 하는 계정 변경 (window !!), git the requested URL returend error : 403 해결방법 (0) | 2023.01.07 |
---|