MySQL 사용
많은 애플리케이션이 데이터베이스로 MySQL을 사용하며, 테스트를 실행하는 데 필요할 수 있습니다.
Docker 실행기를 사용하여 MySQL 사용
MySQL 컨테이너를 사용하려면 GitLab Runner를 Docker 실행기와 함께 사용할 수 있습니다.
이 예에서는 GitLab이 MySQL 컨테이너에 액세스하는 데 사용하는 사용자 이름과 암호를 설정하는 방법을 보여줍니다. 사용자 이름과 암호를 설정하지 않은 경우 root
를 사용해야 합니다.
참고: GitLab UI에서 설정한 변수는 서비스 컨테이너로 전달되지 않습니다. 더 많은 정보는 GitLab CI/CD 변수를 참조하십시오.
-
MySQL 이미지를 지정하려면
.gitlab-ci.yml
파일에 다음을 추가합니다:services: - mysql:latest
-
Docker Hub에서 사용 가능한 어떤 Docker 이미지든 사용할 수 있습니다.
예를 들어, MySQL 5.5를 사용하려면
mysql:5.5
를 사용하십시오. -
mysql
이미지는 환경 변수를 허용합니다. 더 많은 정보는 Docker Hub 문서를 참조하십시오.
-
Docker Hub에서 사용 가능한 어떤 Docker 이미지든 사용할 수 있습니다.
예를 들어, MySQL 5.5를 사용하려면
-
데이터베이스 이름과 암호를 포함하려면
.gitlab-ci.yml
파일에 다음을 추가합니다:variables: # mysql 환경 변수 구성 (https://hub.docker.com/_/mysql/) MYSQL_DATABASE: $MYSQL_DATABASE MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
MySQL 컨테이너는 데이터베이스에 연결하기 위해
MYSQL_DATABASE
와MYSQL_ROOT_PASSWORD
를 사용합니다. 이러한 값을 직접 호출하는 대신 변수($MYSQL_DB
및$MYSQL_PASS
)를 사용하여 전달하십시오, 직접 호출하는 대신. -
데이터베이스를 사용하도록 응용 프로그램을 구성하십시오. 예:
Host: mysql User: runner Password: <your_mysql_password> Database: <your_mysql_database>
이 예에서 사용자는
runner
입니다. 데이터베이스에 액세스할 수 있는 사용자를 사용해야 합니다.
셸 실행기를 사용하여 MySQL 사용
Shell 실행기를 사용하는 GitLab Runner를 수동으로 구성된 서버에서 MySQL을 사용할 수도 있습니다.
-
MySQL 서버를 설치하십시오:
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
-
MySQL 루트 암호를 선택하고 두 번 입력하십시오.
참고: 보안 조치로,
mysql_secure_installation
을 실행하여 익명 사용자를 제거하고 테스트 데이터베이스를 삭제하고 루트 사용자에 의한 원격 로그인을 비활성화할 수 있습니다. -
루트로 MySQL에 로그인하여 사용자를 만드십시오:
mysql -u root -p
-
응용 프로그램에서 사용하는 사용자(이 경우
runner
)를 만드십시오. 명령에 있는$password
를 강력한 암호로 변경하십시오.mysql>
프롬프트에서 다음과 같이 입력하십시오:CREATE USER 'runner'@'localhost' IDENTIFIED BY '$password';
-
데이터베이스를 만드십시오:
CREATE DATABASE IF NOT EXISTS `<your_mysql_database>` DEFAULT CHARACTER SET `utf8` \ COLLATE `utf8_unicode_ci`;
-
데이터베이스에 필요한 권한을 부여하십시오:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES ON `<your_mysql_database>`.* TO 'runner'@'localhost';
-
모든 것이 잘 되었다면, 데이터베이스 세션을 종료하십시오:
\q
-
새로 만든 데이터베이스에 연결하여 모든 것이 제대로 준비되었는지 확인하십시오:
mysql -u runner -p -D <your_mysql_database>
-
데이터베이스를 사용하도록 응용 프로그램을 구성하십시오. 예:
Host: localhost User: runner Password: $password Database: <your_mysql_database>
예제 프로젝트
MySQL 예제를 보려면 이 샘플 프로젝트의 포크를 만들어보세요. 이 프로젝트는 GitLab.com의 공개 사용 가능한 인스턴스 러너를 사용합니다. README.md 파일을 업데이트하고 변경 사항을 커밋하여 이를 확인하려면 CI/CD 파이프라인을 보세요.