Github Actions는 일반적으로 Ci/CD의 자동화를 위해서 사용된다. 그리고 이를 위한 워크플로우(workflow)을 구성할 때 반복적으로 처리되는 작업들을 재사용이 용이하도록 제공되는 Action이라는 메커니즘이 있다. 헤더파일 같은 느낌이라고 보면 될 것 같다. github 측에서 공식 계정인 'actions'가 만든 action들이 기본적으로 추천되고, Github Marketplace를 통해 공개해둔 액션을 쉽게 검색해서 사용해볼 수 있다.
이러한 action들은 YAML 파일에서 use 라는 키워드를 통해 프로젝트에 적용할 수 있다. use 키에 사용하고자 하는 action의 정보를 작성하여 불러온다. {소유자}/{저장소명}@{참조자} 와 같은 형식이다. 여기서 참조자는 커밋 해쉬값도 사용할 수 있으나 주로 태그명을 사용한다. Github Actions에서 자주 사용되는 체크아웃 액션을 사용하려고 한다면 actions/checkout@v3 와 같이 작성할 수 있다. 글 작성일 기준 가장 최신 버전은 v3이다.
마지막으로 이 글을 작성하게 된 계기가 된 mysql 서버 세팅 방법이다. 아래와 같은 코드를 추가할 때 다른건 안 건들고 저렇게 값을 넣는 것만으로 동작을 한다는 것이 이해가 되지 않았었다. 찾아보니 저건 파라미터 값 같은 것이고, 실제 동작하는 본문은 samin이라는 사람이 marketplace에 action을 등록하여 우리가 사용할 수 있는 것이었다.
steps:
- uses: samin/mysql-action@v1
with:
host port: 3800 # Optional, default value is 3306. The port of host
container port: 3307 # Optional, default value is 3306. The port of container
character set server: 'utf8' # Optional, default value is 'utf8mb4'. The '--character-set-server' option for mysqld
collation server: 'utf8_general_ci' # Optional, default value is 'utf8mb4_general_ci'. The '--collation-server' option for mysqld
mysql version: '8.0' # Optional, default value is "latest". The version of the MySQL
mysql database: 'some_test' # Optional, default value is "test". The specified database which will be create
mysql root password: ${{ secrets.RootPassword }} # Required if "mysql user" is empty, default is empty. The root superuser password
mysql user: 'developer' # Required if "mysql root password" is empty, default is empty. The superuser for the specified database. Of course you can use secrets, too
mysql password: ${{ secrets.DatabasePassword }} # Required if "mysql user" exists. The password for the "mysql user"
참고링크
https://www.daleseo.com/github-actions-basics/
https://github.com/marketplace/actions/start-mysql
'DevOps > Github' 카테고리의 다른 글
Github Actions 데이터베이스 연동 및 설정 파일 자동 배포 (0) | 2022.11.04 |
---|