drone 가져오기

4645 단어 drone.io
소위 drone
코끼리 코끼리
다른 도구(Circleci/Wercker)와는 달리 시사회에서 사용할 수 있는 OSS 버전이 공개됐다.
Docker를 사용한 CI 서버 "Drene"설명
https://knowledge.sakura.ad.jp/2729/
k8s와의 CI 합작에서 하나의 선택항이기 때문에 가져오려고 했지만 사소한 부분에 걸려 넘어져서 비망록으로 사용했습니다.
1.sqlite에 빠지면 데이터를 만들 수 없습니다
공식docker-compose를 직접 사용하면 다음과 같은 오류가 발생합니다.
http://readme.drone.io/admin/installation-guide/
drone-server_1  | time="2017-11-07T13:14:22Z" level=error msg="unable to open database file"
drone-server_1  | time="2017-11-07T13:14:22Z" level=fatal msg="database ping attempts failed"
drone 은/var/lib/drone 에서 drone 을 구성합니다.sqlite를 만들어야 할 것 같지만 권한 문제를 만들지 못했습니다.
제인킨스도 비슷한 문제가 있지만 호스트 볼륨이 아닌 도커 볼륨이면 더 좋다.
2.GiitHub님이 보내주신 웹hook에 빠져서 안 와요.
이것은 drone이라기보다는 AWS의 문제이며, GiitHub에서 온 웹 훅은 보안팀을 풀어야 한다.
개봉 당시 드론을 활용할 때는 나만의 지티허브 엔터테인먼트와 지티랩이 있어서 드문 경우라고 생각한다.
GiitHub의 Hook의 IP 주소는 다음 hook에 따릅니다.
GiitHub의 대외 IP 주소
https://qiita.com/hoyo/items/5950d5f70ba52335dcd2
3.docker-agent에 반해 peromison deny
웹 훅을 통과했습니다. 다음은 다음과 같은 오류입니다.
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.26/volumes/create: dial unix /var/run/docker.sock: connect: permission denied
agent docker.sock을 시작할 권한이 없어서 permission deny가 되었습니다.
루트 사용자에게 권한을 주거나 docker 그룹에 들어간 사용자로 시작해야 합니다.
이번에는 특권 사용자에게 신속하게 수여되었다.
결실

다 됐습니다.
젠킨스보다 도커를 이용한 빌딩의 시동이 더 빠르다.
이번에 이용한docker-compose입니다.
docker-compose.yaml
version: '2'

services:
  drone-server:
    image: drone/drone:0.8

    ports:
      - 80:8000
      - 9000
    restart: always
    volumes:
      - /var/lib/drone
    environment:
      - DEBUG=true
      - DRONE_OPEN=true
      - DRONE_HOST=http://XXX.XXX.XXX.XXX
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=XXXX # GitHubのOAuth Appsの設定より
      - DRONE_GITHUB_SECRET=XXXX # GitHubのOAuth Appsの設定より
      - DRONE_SECRET=XXXXX # 任意のパスワード
  drone-agent:
    image: drone/agent:0.8
    command: agent
    restart: always
    privileged: true
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=XXXXX # 任意のパスワード
끝말
devops에서 CI/CD는 자동화되고 보안이 필수적입니다.

좋은 웹페이지 즐겨찾기