phinx 실행시 timezone 문제 발생하는 경우

사실 phinx의 문제라기보다는 php 환경변수로 timezone이 설정되지 않아서 발생하는 경고 메시지이다. 필자는 phinx를 사용하여 마이그레이션하려할 때 아래와 같은 경고 메시지를 받았다. Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and … Read more

phinx db migration tool setting

phinx.yml 에서 host를 localhost로 할 때엔 unix_socket을 정해줘야 한다. host가 localhost인데 unix_socket이 설정되어 있지 않으면, 다음과 같은 에러를 보게 된다. [InvalidArgumentException] There was a problem connecting to the database: SQLSTATE[HY000] [2002] No such file or directory unix_socket을 사용하지 않으려면 host를 127.0.0.1로 하면 된다. 참고자료: https://stackoverflow.com/questions/22188026/sqlstatehy000-2002-no-such-file-or-directory/25782795#25782795

Android build setting

Andriod 앱을 빌드하기 위해서는 당연히 android sdk가 있어야 한다. 예전엔 android sdk를 다운받을 수 있었는데, 지금은 sdk tools를 별도로 제공하고 있다. 사용하려면 명령줄에서 실행해야 한다. 필자는 jenkins를 docker로 띄워 놓은 상태였고 git repository로부터 webhook이 걸리면 gradlew명령어를 사용해서 apk를 자동으로 빌드하려는 상황이었다. jenkins 컨테이너 내에 jenkins 사용자의 홈디렉토리는 기본으로 /var/jenkins_home에 세팅된 것을 기준으로 정리하였다. 이후에 tools/bin에 … Read more

Gitlab with docker and setup ssl using letsencrypt on macOS

Docker image를 생성하고 실행한다. 컨테이너의 443, 80, 22 포트는 각각 Mac의 8443, 8080, 8022로 매핑해준다. 동일한 포트로 사용하기 원하면 443:443과 같이 써주면 된다. sudo docker run –detach \ –hostname gitlab.example.com \ –publish 8443:443 –publish 8080:80 –publish 8022:22 \ –name gitlab \ –restart always \ –volume /Users/[username]/apps/gitlab/config:/etc/gitlab \ –volume /Users/[username]/apps/gitlab/logs:/var/log/gitlab \ –volume /Users/[username]/apps/gitlab/data:/var/opt/gitlab \  gitlab/gitlab-ce:latest Letsencrypt 인증서 … Read more

Bitbucket 저장소와 Jenkins Webhook 연동하기

Jenkins의 소스코드 관리에서 Bitbucket 저장소와 연동하여 사용할 수가 있다. 그런데, Webhook을 걸면 브랜치를 가리지 않고 항상 실행된다. 필자는 저장소에서 Webhook을 걸 때마다 개발용 앱과 상용 앱을 모두 빌드하게 하고 싶지 않았다. pull request가 개발 브랜치로 머지될 때에는 테스트 서버에 붙는 테스트용 앱을 빌드하고, 상용 브랜치로 머지될 때에는 실 서버에 붙는 상용 앱을 빌드하고 싶었다. 하지만 … Read more