github에서 고의 프로그램 라이브러리를 공개하는 절차 노트

6953 단어 Go

개요


ffprobe 명령의 구글을 프로그램 라이브러리로 연결하여 공개해 보십시오
애니메이션의 경우 개체 파일의 비디오 흐름 정보 및
오디오 흐름 정보를 표시하는 ffprobe 명령
구글의 구조체에 귀속해 보십시오.
창고는 창고로 공개하고 싶어서 다음과 같은 내용을 표시하고 싶습니다.
  • build 성공
  • 덮어쓰기
  • godoc에 대한 링크
  • 라이센스
  • 공개 장소는 github을 전제로 썼어요.

    결실


    이렇게 된 느낌.

    창고는 여기 있어요.
    https://github.com/smith-30/go-ffprobe

    절차.


    창고를 만들다


    LINCENSE도 이 타이밍에 만들어.

    travis에 등록


    CI - travis 사용
    무료.
    https://travis-ci.org
    대시보드에서 창고를 On으로 만들기

    coveralls에 등록


    무료.
    https://coveralls.io
    대시보드에서 창고를 On으로 만들기

    .travis.사용자 정의


    .travis.yml
    language: go
    sudo: false
    go:
      - 1.8
      - 1.9
      - tip
    
    matrix:
      allow_failures:
        - go: tip
    
    install:
      - go get golang.org/x/tools/cmd/cover
      - go get github.com/modocache/gover
      - go get github.com/mattn/goveralls
      - go get honnef.co/go/tools/cmd/gosimple
      - go get honnef.co/go/tools/cmd/unused
      - go get honnef.co/go/tools/cmd/staticcheck
      - go get -v -t ./...
    
    script:
      - go vet $(go list ./... | grep -v /vendor/)
      - unused $(go list ./... | grep -v /vendor/)
      - gosimple $(go list ./... | grep -v /vendor/)
      - staticcheck $(go list ./... | grep -v /vendor/)
      - go test -cover -coverpkg github.com/smith-30/go-ffprobe -coverprofile go-ffprobe.coverprofile
    
    after_script:
      - gover
      - goveralls -coverprofile=gover.coverprofile -repotoken $COVERALLS_TOKEN
    
    원본 코드의 품질을 먼저 보증하고 싶어서 테스트 이외에
  • vet
  • gosimple
  • unused
  • staticcheck
  • 정적 분석을 하다.

    coverall의 token 설정

    .travis.yml$COVERALLS_TOKEN에 기술되어 있습니다.
    $ sudo gem install travis
    
    # プロジェクトルートで打つこと、そうするとtravis設定ファイルに書き込まれる
    $ travis encrypt COVERALLS_TOKEN=<your-token> --add
    
    <your-token>coveralls에서 활성화된 창고 페이지에서 가져오십시오.

    트래비스 돌려주세요.


    CI 협업을 진행하거나 다음 파일을 원격 창고push로 사용할 수 있습니다
    ffprobe.go
    package go_ffprobe
    
    func GetFileInfo(fileName string) string {
        return fileName
    }
    
    ffprobe_test.go
    package go_ffprobe_test
    
    import (
        "testing"
    
        ffprobe "github.com/smith-30/go-ffprobe"
    )
    
    func TestGetFileInfo(t *testing.T) {
        exp := "test"
        act := ffprobe.GetFileInfo(exp)
    
        if exp != act {
            t.Errorf("failed.")
        }
    }
    
    행동하기 시작하면 성공한다

    덮어쓰기와build 성공 횟수 제시


    README.md의 시작 편집
    [![Build Status](https://secure.travis-ci.org/smith-30/go-ffprobe.png?branch=master)](http://travis-ci.org/smith-30/go-ffprobe)
    [![Coverage Status](https://coveralls.io/repos/smith-30/go-ffprobe/badge.svg?branch=master)](https://coveralls.io/r/smith-30/go-ffprobe?branch=master)
    [![GoDoc](https://godoc.org/github.com/smith-30/go-ffprobe?status.svg)](https://godoc.org/github.com/smith-30/go-ffprobe)
    [![license](https://img.shields.io/badge/license-MIT-4183c4.svg)](https://github.com/smith-30/go-ffprobe/blob/master/LICENSE)
    
    smit-30/go-ffprobe를 적당히 바꿔주세요.
    덮어쓰기와 일괄 처리가 나타나면 성공합니다.

    총결산


    일괄 처리된 프로그램 라이브러리를 신속하게 공개할 수 있다
    아직 해보지 않은 사람은 한번 해 볼 수 있다.
    창고 CI 협업을 하지 않은 사람에게 추천합니다.
    push가 마음대로 조용히 행복을 분석하는 실험을 했다면그리고 공짜예요.고맙습니다.
    goveralls와 go의 정적 해석 도구를 만들어 주신 여러분께 감사할 뿐입니다.
    이 서비스는 사용되었습니다.
    json에서 시작하여 go의 struct를 표시합니다
    https://mholt.github.io/json-to-go/
    올해도 조금밖에 남지 않았으니 좋은 goo life를 계속 즐겨라.

    좋은 웹페이지 즐겨찾기