17. Chat Integration
Gitlab-Chat 에서 소개 드린바와 같이 Chat의 Webhook 기능을 이용하여 여러가지 통지를 받을 수 있습니다. Bookmarklet 웹을 탐색하다가 괜찮은 기사를 발견했을때 클릭질 한번으로 Chat의 채널에 링크를 공유할 수 있습니다. Chat에서 들어오는 Webhook를 하나 만들고 token을 복사 합니다. func.php를 만들었던 디렉토리에 다음 파일을 chat.php 라고 추가 합시다. 브라우저의 bookmark 메뉴바에서 북마크를 하나…
15. NAS Backup
아무리 Synology NAS가 RAID를 지원한다고 해도, 극한의 상황(시스템의 결함이나 도난, 화재와 같은 자연재해, 실수로 떨어뜨리거나 물을 엎지른 경우등)으로 인한 데이터의 유실을 최대한 막으려면 지역적으로 분리된 공간에 백업을 해야 할것입니다. Synology 는 여러가지 백업 솔루션을 제공하고 있습니다. AWS Glacier에 백업 할 수도 있으며, Synology 자체도 클라우드백업 서비스를 하고 있습니다. 가격과 정책등을…
13. Gitlab runner
Gitlab에도 CI툴이 있습니다. 다만 gitlab runner 라는 것이 반드시 있어야 합니다. 내장되어 있는 runner가 하나도 없기 때문에 프로젝트를 설정 한다고 해도 빌드가 되지를 않습니다. Gitlab runner를 설치하고, 연동한후 프로젝트를 설정해야 합니다. Gitlab runner 역시 Docker Image로 설치 합니다. 공식 문서 : https://docs.gitlab.com/runner/install/docker.html Gitlab에서 어드민으로 로그인하고 Admin Area를 클릭하고 좌측 메뉴에서…
12. Synology Docker
만류했음에도 불구하고, 이미 있는 Synology Docker가 놀고(?) 있는게 아깝거나, 리눅스 서버가 별도로 없는 경우 꼭 Docker로 돌릴 수 밖에 없는 분들을 위해 설명 드립니다. 아마도 전부 다(이제 까지 설명드린 모든 시스템) 설치하시면 메모리 부족 경고가 계속 나올 것입니다. 8기가 이상 설치 하십시오. 인내심도 가지시구요 ^^; Gitlab 우선은 gitlab 부터 설치…
11. Nexus
공식 사이트 – https://www.sonatype.com/nexus-repository-oss 사내에서 생성된 Jar를 보관하며, 중앙 Maven repoistory의 Mirror 역할을 하여, 빌드시 인터넷을 이용하지 않아도 빌드 될 수 있도록 Nexus를 설치해 줍니다(물론 Mirror 이기 때문에 local repository에 필요한 jar가 없는 경우 Central repository에서 받아 옵니다. 이때는 인터넷이 필요합니다). 또한 Nexus는 maven 뿐만 아니라, docker, gitlfs, yum, pypi,…
10. SonarQube
공식 사이트 – https://www.sonarqube.org/ SonarQube는 소스코드의 정적 분석 툴로서 품질향상에 매우 큰 도움이 됩니다. 또한 badge plugin을 통해 Gitlab과 Jenkins에 다음과 같은 badge를 달 수 도 있습니다. 또한 coverage가 지정된 값이하 이거나 중복코드가 지정된 값 이상이거나 하면, build를 실패 혹은 unstable 상태로 만들어 주어진 품질을 맞추도록 강제할 수 있습니다. Sonar는…
9. Jenkins
공식 사이트 – https://jenkins.io/ 너무나 유명하여 소개하기 민망한 Jenkins입니다. Gitlab에도 내부에 CI가 있어 빌드/테스트를 자동화 할 수 있습니다. 저희도 Gitlab CI를 사용하지만, 대부분의 경우는 Jenkins를 사용하고 있고, Build Monitor Plugin을 통해서 항상 빌드를 보고 있습니다. Jenkins도 LDAP을 통해서 계정 통합을 할 수 있지만 저희는 Jenkins와 Sonar 의 경우 gitlab 인증을…
8. Gitlab-Chat
Synology Chat은 Webhook도 지원하여 시스템간 integration 에 많은 도움이 됩니다. gitlab에 팀원 누군가가 코드를 push 했을때 chat의 channel을 통해 통지 받을 수 있다면, 채널에 들어있는 팀원들이 이를 보고 즉시 code review를 향해 달려갈 수 있을 것입니다(어기여차!) Spec은 다음과 같습니다. Synology Chat Webhooks Spec – https://www.synology.com/ko-kr/knowledgebase/DSM/help/Chat/chat_integration Gitlab Webhooks Spec – https://docs.gitlab.com/ee/user/project/integrations/webhooks.html…