OSS Drone CI 구축 방법
소개
Drone은 OSS 버전 및 클라우드 버전에서 제공되는 CI 도구입니다.
이번에는 OSS 버전의 Drone을 시작하고 Github (Enterprise)와 연동했으므로 그 절차를 정리합니다.
자쿠자쿠 가면 15분 정도로 Drone 기동과 Github 제휴 인증까지 갈 수 있다고 생각합니다.
※Docker 자체의 환경 구축이 끝나지 않은 분은, Docker를 Mac에 설치 를 참고해 주세요.
또한 @ y_ 중얼거림에서 개발 한 yaritori - 메일 공유 시스템도 좋으면 방문하십시오
docker-compose.yml 만들기
적절한 디렉토리 (이번에는
drone
라고 함)에 docker-compose.yml
를 만듭니다.$ mkdir drone && cd drone
$ vi docker-compose.yml
docker-compose.yml
version: '2'
services:
drone-server:
image: drone/drone:0.7.3
ports:
- 80:8000
volumes:
- ./drone:/var/lib/drone/
restart: always
environment:
- DRONE_OPEN=true # ユーザ登録を可能にする
- DRONE_HOST=${DRONE_HOST} # 後述
- DRONE_GITHUB=true # Githubを使用する
- DRONE_GITHUB_URL=${DRONE_GITHUB_URL} # Github Enterpriseを使用している場合に設定する
- DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} # 後述
- DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} # 後述
- DRONE_SECRET=${DRONE_SECRET} # 後述
- DRONE_GITHUB_PRIVATE_MODE=true # Github Enterpriseをプライベートモードで動かしている場合はtrueにする
drone-agent:
image: drone/drone:0.7.3
command: agent
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=ws://drone-server:8000/ws/broker
- DRONE_SECRET=${DRONE_SECRET}
Drone 시작
$ docker-compose up
이 상태에서 http://localhost/에 액세스하면 ...
이제 작동을 확인했습니다
ngrok로 로컬과 글로벌을 연결
Github과의 연동에는 Oauth 인증이 필요합니다.
이 때 콜백 URL이 전역이 아니면 요청을받지 못하기 때문에,
ngrok 사용법 (windows, mac) - Qiita
참고로 ngrok에서 글로벌 URL을 가져옵니다.
환경 변수 설정
docker-compose.yml
와 같은 디렉터리에 .env
를 만듭니다..env
DRONE_GITHUB_URL=使用しているドメイン # ex) https://your-domain.com
DRONE_GITHUB_CLIENT=Githubで取得
DRONE_GITHUB_SECRET=Githubで取得
DRONE_SECRET=ランダムな文字列
DRONE_HOST=ngrokで取得したURL
htps : // 기주 b. 코 m / 세팅 gs / ゔ ぇぺ에서
Github에 애플리케이션을 등록할 때의 참고
로그인
https://{ngrok에 할당된 호스트 이름}.ngrok.io/login
부터 애플리케이션을 인증하면 연동 가능한 상태가 됩니다
끝에
OSS판 Drone을 사용하면 온프레미스 환경에서의 운용도 가능합니다.
Github Enterprise나, 닫힌 네트워크내에서의 CI로서의 유효 활용 등 여러가지 시험해 봐 주셨으면 합니다.
Reference
이 문제에 관하여(OSS Drone CI 구축 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kurkuru/items/585ca5c83c48664273b2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)