介绍

本指南为开发人员提供了从源代码构建和运行Harbor的说明。

步骤1:为Harbor的构建环境做准备

Harbor被部署为多个Docker容器,并且大多数代码都是用Go语言编写的。构建环境需要Docker,Docker Compose和golang开发环境。请安装以下先决条件:

软件 所需版本
docker 17.05 +
docker-compose 1.18.0 +
python 2.7 +
git 1.9.1 +
make 3.81 +
golang* 1.7.3 +

*可选,仅当您使用自己的Golang环境时才需要。

步骤2:获取源代码

    $ git clone https://github.com/goharbor/harbor

步骤3:构建和安装Harbor

配置

编辑文件 make/harbor.yml 并进行必要的配置更改,例如主机名,管理员密码和邮件服务器。有关更多信息,请参考 安装和配置指南

    $ cd harbor
$ vi make/harbor.yml

编译和运行

您可以通过以下三种方法之一来编译代码:

I.使用官方Golang映像进行构建

  • 从Docker Hub获取官方的Golang图像:

        $ docker pull golang:1.12.12
  • 在没有公证人的情况下构建,安装和启动Harbor:

       $ make install GOBUILDIMAGE=golang:1.12.12 COMPILETAG=compile_golangimage
  • 使用公证人建立,安装和启动Harbor:

      $ make install GOBUILDIMAGE=golang:1.12.12 COMPILETAG=compile_golangimage NOTARYFLAG=true

- 与Clair一起构建,安装和启动Harbor: ```sh
$ make install GOBUILDIMAGE=golang:1.12.12 COMPILETAG=compile_golangimage CLAIRFLAG=true

II.使用您自己的Golang环境编译代码,然后构建Harbor

  • 将源代码移至$GOPATH

       $ mkdir $GOPATH/src/github.com/goharbor/
    $ cd ..
    $ mv harbor $GOPATH/src/github.com/goharbor/.
  • 在没有公证人和克莱尔的情况下构建,安装和运行Harbor:

       $ cd $GOPATH/src/github.com/goharbor/harbor
    $ make install
  • 使用Notary和Clair构建,安装和运行Harbor:

       $ cd $GOPATH/src/github.com/goharbor/harbor
    $ make install -e NOTARYFLAG=true CLAIRFLAG=true

验证您的安装

如果一切正常,您将收到以下消息:

   ...
Start complete. You can visit harbor now.

有关管理Harbour实例的更多信息,请参考安装和配置指南

[翻译]

harbor 编译 https://github.com/goharbor/harbor/blob/release-1.9.0/docs/compile_guide.md

Harbor 1.9.x 版本从源码构建和运行的更多相关文章

  1. Delphi:程序自己删除自己,适用于任何windows版本(含源码)

    Delphi:程序自己删除自己,适用于任何windows版本(含源码) function Suicide: Boolean; var   sei: TSHELLEXECUTEINFO;   szMod ...

  2. Pytorch版本yolov3源码阅读

    目录 Pytorch版本yolov3源码阅读 1. 阅读test.py 1.1 参数解读 1.2 data文件解析 1.3 cfg文件解析 1.4 根据cfg文件创建模块 1.5 YOLOLayer ...

  3. spring 各个版本的源码、jar包和源码jar包下载地址

    spring各个版本的源码jar包.文档jar包和spring的jar包 http://maven.springframework.org/release/org/springframework/sp ...

  4. jQuery 2.1.4版本的源码分析

    jQuery 2.1.4版本的源码分析 jquery中获取元素的源码分析 jQuery.each({// 获取当前元素的父级元素 parent: function(elem) { var parent ...

  5. Tomcat各版本及源码包下载

    Tomcat各版本及源码包下载 1.百度 Tomcat 进入官网2.Tomcat 官网地址:http://tomcat.apache.org/3.所有 Tomcat 版本及源码包下载地址:https: ...

  6. java开源即时通讯软件服务端openfire源码构建

    java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...

  7. Flink源码分析 - 源码构建

    原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483692&idx=1&sn=18cddc1ee ...

  8. Elasticsearch源码分析 - 源码构建

    原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483694&idx=1&sn=bd03afe5a ...

  9. android 源码编译及其运行模拟器相关问题记录

    最近一直在看android源码相关的文档,包括编译源码,还有framework层的代码,本人很懒,一直没有写博客,今天想自己在编译一下源码,并且运行在模拟器中. 源码的版本不同,需要的jdk可能也有所 ...

随机推荐

  1. 【退役记】CSP2019 退役记

    Day -1 机房自习,因为一些奇怪原因心不在焉 我可能太在意csp了 晚上有点扛不住去七楼阳台思考人生,得到了一些惊人的结论想下来由于某种原因继续跑到七楼思考人生 然后晚自习下课仰天大笑出门去,我辈 ...

  2. 小小知识点(三十九) 正交频分复用OFDM的基本原理及实现

    引言 符号间干扰(ISI)是无线传输系统设计中需要考虑的因素,采用什么样的处理方法取决于数据传输速率或等效传输带宽来决定 (1)若数据速率低且与信道最大延迟相比符号持续时间较长,那么就可能无需任何均衡 ...

  3. FUTABA舵机参数大全

    S9150 Digital servo 尺寸:47.5X27X25.3mm 重量:53g 速度:0.18sec/60"(4.8V) 扭力:5.8kg:cm(4.8V) ——————————— ...

  4. 深入理解协程(三):async/await实现异步协程

    原创不易,转载请联系作者 深入理解协程分为三部分进行讲解: 协程的引入 yield from实现异步协程 async/await实现异步协程 本篇为深入理解协程系列文章的最后一篇. 从本篇你将了解到: ...

  5. postman传递当前时间戳

    有时我们在请求接口时,需要带上当前时间戳这种动态参数,那么postman能不能自动的填充上呢. 1请求动态参数(例如时间戳) 直接在参数值写 {{$timestamp}} 如下: 我们也可以使用pos ...

  6. 12.Android-SQLiteOpenHelper使用

    1.SQLite介绍 SQLite,是一款轻型的数据库,它的优缺点有如下: 轻量级,适合嵌入式设备,并且本身不依赖第三方的软件,使用它也不需要“安装”. 并发(包括多进程和多线程)读写方面的性能不太理 ...

  7. 投影方式- Unity3D游戏开发培训

    投影方式- Unity3D游戏开发培训   作者:Jesai 2018-02-12 20:33:13 摘  要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...

  8. .net mvc Bundle 自己配置

    遇到了个坑 来和大家分享一下 1.一个空的mvc项目需要引用 System.Web.Optimization 2.然后nuget添加 microsoft ASP.NET WEB OPTIMIZATIO ...

  9. StampedLock的理解和使用

    StampedLock介绍 StampedLock是为了优化可重入读写锁性能的一个锁实现工具,jdk8开始引入 相比于普通的ReentranReadWriteLock主要多了一种乐观读的功能 在API ...

  10. rabbitmq 实现延迟队列的两种方式

    原文地址:https://blog.csdn.net/u014308482/article/details/53036770 ps: 文章里面延迟队列=延时队列 什么是延迟队列 延迟队列存储的对象肯定 ...