하네스 오픈 소스는 코드 호스팅의 힘, 자동화 된 DevOps 파이프 라인, 호스팅 개발 환경 (GITSPACE) 및 Artifact Registries로 가득 찬 오픈 소스 개발 플랫폼입니다.
하네스 오픈 소스는 코드 호스팅, 자동화 된 DevOps 파이프 라인, Gitspaces 및 Artifact Registries의 전력으로 가득 찬 오픈 소스 개발 플랫폼입니다.
공개적으로 공개 된 Docker 이미지는 하네스/하네스에서 찾을 수 있습니다.
하네스 직접 설치하려면 아래 명령을 실행하십시오. 컨테이너가 올라가면 브라우저에서 http : // localhost : 3000을 방문 할 수 있습니다.
docker run -d
-p 3000:3000
-p 22:22
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp/harness:/data
--name harness
--restart always
harness/harness하네스 이미지는 볼륨을 사용하여 데이터베이스 및 리포지토리를 저장합니다. 컨테이너가 중지되면 모든 데이터가 손실되므로 바인드 마운트 또는 이름이 지정된 볼륨을 사용하는 것이 좋습니다.
Harness를 최대한 활용하는 방법을 배우려면 Developer.harness.io를 참조하십시오.
하네스 오픈 소스는 차세대 드론에 대한 막대한 투자를 나타냅니다. Drone은 지속적인 통합에만 초점을 맞춘 경우 Harness는 소스 코드 호스팅, 개발자 환경 (Gitspaces) 및 Artifact Registries를 추가합니다. 팀에 엔드 투 엔드 오픈 소스 DevOps 플랫폼을 제공합니다.
목표는 하네스가 파이프 라인 기능 측면에서 무인 항공기와 완전히 패리티를 사용하여 사용자가 드론에서 하네스로 원활하게 마이그레이션 할 수 있도록하는 것입니다.
그러나 우리는 이것이 약간의 시간이 걸릴 것으로 기대하기 때문에 우리는 피처 브랜치 드론 (README)으로 드론의 스냅 샷을 가져 와서 개발을 계속할 수 있습니다.
하네스에 관해서는, 개발은 메인 지점에서 진행되고 있습니다.
Harness에 대한 자세한 내용은 Developer.harness.io를 방문하십시오.
드론에 대한 자세한 내용은 drone.io를 방문하십시오.
최신 안정 버전의 노드 및 GO 버전 1.20 이상을 설치 한 다음 아래 이동 프로그램을 설치하십시오. Gopath Bin 디렉토리가 경로에 추가되어 있는지 확인하십시오.
Protobuf를 설치하십시오
protoc --version 이미 설치했는지 확인하십시오brew unlink protobuf 실행하십시오.curl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rbbrew install /tmp/protobuf.rb 설치하십시오protoc --version 버전을 확인하십시오Protoc-Gen-Go 및 Protoc-Gen-Go-RPC를 설치하십시오.
protoc-gen-go v1.28.1 go install google.golang.org/protobuf/cmd/[email protected] 하므로 $ Gobin이 $ 경로에 있는지 확인하십시오)
protoc-gen-go-gropc v1.2.0 go install google.golang.org/grpc/cmd/[email protected]
$ make dep
$ make tools첫 번째 단계는 사용자 인터페이스 아티팩트를 구축하는 것입니다.
$ pushd web
$ yarn install
$ yarn build
$ popd그런 다음 하네스 바이너리를 만들 수 있습니다.
$ make build이 프로젝트는 GO가 지원하는 모든 운영 체제 및 아키텍처를 지원합니다. 즉, 컴퓨터에서 시스템을 빌드하고 실행할 수 있습니다. 지역 개발 및 테스트에는 도커 컨테이너가 필요하지 않습니다.
localhost:3000 에서 서버를 시작하려면 다음 명령을 실행합니다.
./gitness server .local.env새로운 REST API를 추가 할 때 UI에서 사용하는자가 생성 된 클라이언트 코드를 업데이트하십시오.
코드를 재생하려면 다음 단계를 실행하십시오.
./gitness swagger > web/src/services/code/swagger.yaml 재생web 폴더로 이동하여 yarn services 실행하십시오 이제 최신 API 변경 사항은 web/src/services/code/index.tsx 에 반영되어야합니다.
make conformance-test
기존 달리기 서비스를 사용하여 일치하는 러닝 테스트의 경우 다음을 사용하십시오.
make hot-conformance-test
이 프로젝트에는 시스템과 상호 작용하기위한 전체 사용자 인터페이스가 포함되어 있습니다. 응용 프로그램을 실행하면 브라우저에서 http://localhost:3000 으로 탐색하여 사용자 인터페이스에 액세스 할 수 있습니다.
이 프로젝트에는 Swagger 사양이 포함되어 있습니다. 응용 프로그램을 실행할 때 브라우저에서 http://localhost:3000/swagger 로 탐색하여 Swagger 사양에 액세스 할 수 있습니다 (Raw Yaml은 http://localhost:3000/openapi.yaml 참조). 레지스트리 엔드 포인트의 경우 현재 Swagger는 다른 엔드 포인트에 위치하고 있습니다 http://localhost:3000/registry/swagger/ (Raw JSON의 경우 http://localhost:3000/registry/swagger.json 참조). 이것들은 나중에 메인 Swagger 엔드 포인트로 옮겨 질 것입니다.
테스트의 경우 CLI를 사용하여 토큰을 만드는 것이 가장 간단합니다 (하네스 서버가 실행해야 함).
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat " my-pat-uid " 2592000 명령은 사용자로서 전체 액세스 권한이 부여 된 유효한 PAT를 출력합니다. 그런 다음 토큰은 우체부 또는 컬로 Authorization 헤더의 일부로 보낼 수 있습니다.
$ curl http://localhost:3000/api/v1/user
-H " Authorization: Bearer $TOKEN " 이 프로젝트에는 서비스 개발 및 실행을위한 매우 기본적인 명령 줄 도구가 포함되어 있습니다. 명령을 실행하기 전에 서버를 시작해야한다는 것을 기억하십시오.
지원되는 작업의 전체 목록은 참조하십시오
$ ./gitness --helpContributing.md를 참조하십시오
Apache License 2.0, 라이센스를 참조하십시오.