[PHP] utf-8 문자열을 주어진 바이트로 자르기

php 에서 제공하는 substr 함수 등을 이용해 주어진 문자를 특정 바이트로 잘라야 하는 경우 영문이나 숫자는 문제가 되지 않지만 한글 등 utf-8 문자에서는 마지막 문자가 정상적으로 표시되지 않는 등의 문제가 발생한다. 이런 경우에 사용하고자 아래 함수를 만들었다. getSubstring 함수는 주어진 문자열을 주어진 길이(byte) 만큼 자른 후 리턴한다. 만약 주어진 길이만큼 자를 때 마지막 문자가 정상적인 […]

Read More

jenkins 에서 rsync 를 이용한 파일 배포

jenkins 에서 git, scp 를 이용한 파일 배포를 rsync 를 이용한 스크립트로 변경했다. 각 서버의 ip는 servers.dat 파일에 지정되어 있고 아래와 같은 형태이다. servers.dat 파일을 쉘 스크립트에서 읽어들인 후 각 서버로 rsync 를 이용해 배포하게 된다. rsync 를 이용하기 위해서는 각 서버에 jenkins 서버의 ssh 키가 미리 등록되어 있어야 한다. 동기화 때 제외될 디렉토리와 파일을 […]

Read More

jenkins 에서 git, scp 를 이용한 파일 배포

jenkins 를 이용해 github webhook 을 이용해 배포를 자동화하는 것을 지난 번에 테스트했다. 이번엔 배포 스크립트에 기능을 좀 더 추가하여 git 을 이용해 수정된 파일의 목록을 구하고 이 파일들만 서버에 배포하는 스크립트를 테스트해본다. 일반적으로 전체 파일을 scp나 rsync 를 이용해 배포하게 되는데 파일이 많을 경우 배포에 시간이 오래 걸릴 수 있기 때문에 수정된 파일만 목록을 […]

Read More

jenkins 와 github webhook 연동

소스코드는 git 과 github.com 을 이용해 관리 중이다. jenkins를 이용해 github 에 push 됐을 때 git pull 명령을 실행하도록 github.com webhook 연동을 테스트 했다. 우선 jenkins 에서 테스트 프로젝트를 추가하고 아래와 같이 설정했다. 1. jenkins 설정 jenkins 와 github.com webhook 을 연동하기 위해서는 GitHub Integration Plugin 플러그인을 먼저 설치해야 한다. jenkins 설정을 마친 후 github.com […]

Read More

ubuntu 16.04에 jenkins 설치

ubuntu 16.04 서버에 jenkins 설치하는 방법이다. 설치는 apt 를 이용해서 진행한다. 1. openjdk 8 설치 jenkins 를 설치하기 위해서는 java를 먼저 설치해야 한다. 2. jenkins 설치 3. nginx 설정 jenkins 접속 요청을 nginx 에서 받아 jenkins 로 넘겨주도록 한다. nginx 설정을 리로드 한 후 브라우저에서 jenkins.example.com 로 접속하여 화면의 표시대로 설정을 진행한다. 참고자료https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Nginx

Read More