Harness Open Sourceは、コードホスティングのパワー、自動化されたDevOpsパイプライン、ホスト開発環境(Gitspaces)、およびArtifactレジストリが詰め込まれたオープンソース開発プラットフォームです。
Harness Open Sourceは、コードホスティング、自動化されたDevOpsパイプライン、ギットスペース、およびアーティファクトレジストリのパワーが詰め込まれたオープンソース開発プラットフォームです。
最新の公開された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を参照してください。
ハーネスオープンソースは、次世代のドローンへの大規模な投資を表しています。ドローンが継続的な統合のみに焦点を合わせた場合、Harnessはソースコードのホスティング、開発者環境(Gitspaces)、およびArtifactレジストリを追加します。エンドツーエンドのオープンソースDevOpsプラットフォームをチームに提供します。
目標は、ハーネスがパイプライン機能の観点から最終的にドローンと完全に平等になることであり、ユーザーがドローンからハーネスにシームレスに移行できるようにすることです。
しかし、これには時間がかかると予想されるため、特徴ブランテンドローン(README)としてドローンのスナップショットを採用して、開発を継続できるようにします。
ハーネスに関しては、開発がメインブランチで行われています。
Harnessの詳細については、developer.harness.ioをご覧ください。
ドローンの詳細については、drone.ioをご覧ください。
ノードとGOバージョン1.20以上の最新の安定したバージョンをインストールしてから、以下のGOプログラムをインストールします。 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でバイナリをインストールすることに注意してください。
Install Protoc-Gen-go-grpc 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でサポートされているすべてのオペレーティングシステムとアーキテクチャをサポートします。これは、マシン上のシステムを構築および実行できることを意味します。 Dockerコンテナは、現地の開発とテストには必要ありません。
localhost:3000でサーバーを起動するには、次のコマンドを実行するだけです。
./gitness server .local.env新しいREST APIを追加する際に、UIが使用する自動生成クライアントコードを必ず更新してください。
コードを再生するには、次の手順を実行してください。
./gitness swagger > web/src/services/code/swagger.yamlwebフォルダーに移動し、 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 --help貢献を参照してください
Apacheライセンス2.0、ライセンスを参照してください。