오픈 소스 드론 CI 사용 시작

만약 당신이 보조 프로젝트나 초창기 회사를 건설하고 있고 유행하는 비즈니스 솔루션에 너무 많은 돈을 쓰지 않으려고 한다면, 예를 들어 Travic CI (월 69달러) 는 노트북, AWS 무료 층, 또는 다른 서버에서 자신의 위탁 관리 Drone CI 를 사용할 수 있다.
무인기 CI 기능:
  • 다중 플랫폼 브래킷
  • Yaml 기반 구성
  • 다중 파이프라인 및 복잡한 구축 단계 논리 지원
  • Docker 기반
  • 무료
  • Github, Gitlab, Bitbucket 지원
  • 우리는 호스트에서 Github를 사용하여 무인기 CI를 실행할 것입니다. 그러나 다중 기기 설정이나 Kubernetes, 그리고 서로 다른 VCS 공급자를 사용할 수 있습니다.추가 정보 찾기here.

    사회자를 찾다


    이 테스트의 목적에 따라 AWS EC2 무료 레이어 인스턴스를 사용하지만 원하는 모든 레이어를 사용할 수 있습니다.Dell의 방법을 사용하려면 다음 절차를 따르십시오.
  • AWS 페이지로 이동합니다.
  • EC2 페이지에 SSH pub 키를 키 쌍 부분에 추가합니다(SSH를 통해 귀하의 - 실례에 접근).
  • AWS에 새로운 Ubuntu 18.04 무료 층 실례를 만들기;
  • 실례적인 안전팀은 80개와 443개의 포트를 허용한다.새 계정이라면 launch-wizard-1을 사용하거나 EC2 실례의 설명에서 찾으십시오.
  • Docker 설치


    너는 Docker만 있으면 무인기를 사용할 수 있다.설명here에 따라 조작하면 된다.[docker-v]를 실행하여 모든 구성 요소가 설치되어 있는지 확인합니다.
    root@ip-172-31-23-205:~# docker -v
    Docker version 18.09.3, build 774a1f4
    

    OAuth 응용 프로그램 만들기


    Github을 예로 사용하지만 Gitlab, Bitbucket, Gitea, Gogs에서도 실행할 수 있습니다.추가 정보here.
  • 개인 계정이 있으면 https://github.com/settings/developers로 이동하여 로그인하고, 없으면 계정을 설정하십시오.
  • "새 oAuth 앱"을 클릭합니다.
  • 아래의 예에 따라 표를 작성한다.

  • 서버의 IP 또는 할당 필드를 사용하여 양식을 올바르게 작성할 수 있습니다.이렇게 하면 다음 단계에서 클라이언트 ID와 클라이언트 기밀을 사용할 수 있습니다.

    무인기를 설치하다


    간단합니다.
    docker pull drone/drone:1
    
    다음:
      --volume=/var/run/docker.sock:/var/run/docker.sock \
      --volume=/var/lib/drone:/data \
      --env=DRONE_GITHUB_SERVER=https://github.com \
      --env=DRONE_GITHUB_CLIENT_ID=652d1he1a62b6336bf0 \
      --env=DRONE_GITHUB_CLIENT_SECRET=c8990176a4bfywe55ekj8c3cf6d0ffccb8e3a213e \
      --env=DRONE_RUNNER_CAPACITY=2 \
      --env=DRONE_SERVER_HOST=drone1.pixelpoint.io \
      --env=DRONE_SERVER_PROTO=https \
      --env=DRONE_TLS_AUTOCERT=true \
      --env=DRONE_USER_FILTER=lnikell \
      --env=DRONE_USER_CREATE=username:lnikell,admin:true \
      --publish=80:80 \
      --publish=443:443 \
      --restart=always \
      --detach=true \
      --name=drone \
      drone/drone:1
    
    
    이 구성을 사용하면 Drone은 Let's Encrypt를 사용하여 SSL 인증서를 생성하고 https를 사용하여 Drone UI에 액세스할 수 있습니다.사용자 계정에는 관리자 권한(무인기 사용자 생성)이 있으며, 서버에 대한 다른 사용자의 액세스 권한(무인기 사용자 필터)을 잠그려면 권한이 없습니다.너는 다른 변수의 해석here을 찾을 수 있다.
    당신의 실례는 이미 시작되고 실행되었을 것입니다. 로그인해서 사용하십시오.

    파이프 정의하기


    일단 무인기 CI 실례가 준비되면 저장소를 활성화하고 파이프를 만들 수 있습니다.먼저 검색 표시줄을 사용하여 저장소를 찾아 활성화합니다.

    "설정"페이지에서 프로젝트의 가시적 설정을 변경하거나 기밀을 추가하거나 (생성 절차에 필요한 민감한 정보) cron 작업을 추가할 수 있습니다.

    무인기에서 구축 절차와 파이프를 정의하는 것은 간단한 과정이다.저장소에 추가하기만 하면 됩니다.무인 비행기.yml 파일, 그리고 이 절차들을 yaml 문법으로 설명합니다.다음은 간단한 예입니다.
    
    kind: pipeline
    name: default
    
    steps:
    - name: frontend
      image: node
      commands:
      - npm ci
      - npm run test:unit
    
    
    위의 예도 여기서 찾을 수 있다. https://github.com/lnikell/hello-world/tree/master
    현재, 저장소로 밀어붙일 때, 새로운 무인기 CI 구축을 터치합니다.

    하지만 프로젝트의 복잡성에 따라 더 많은 일을 할 수 있다.다음은 이 프로세스에서 사용할 수 있는 몇 가지 일반적인 사항입니다.
  • 유휴 알림 보내기
  • 쿠베르네트스에 배포
  • Docker 레지스트리로 이미지 푸시
  • 테스트 실행에 필요한 데이터베이스 또는 기타 서비스 실례
  • 여러 파이프를 실행하고 여러 플랫폼을 사용
  • 무인기는 일상적인 조수로서 우리 팀이 테스트를 하고 코드를 배치할 때의 안정성, 유연성과 용이성을 크게 향상시켰다.드론 CI에 대한 자세한 내용은 https://drone.io/를 방문하여 드론 CI에 대한 자세한 내용을 확인하십시오.

    좋은 웹페이지 즐겨찾기