[TOC]
# 1. 安裝Harbor
**1. 安裝Docker并啟動Docker(已完成)**
**2. 安裝docker-compose**
```shell
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) \
-o /usr/local/bin/docker-compose
```
**3. 給docker-compose添加執行權限**
```shell
sudo chmod +x /usr/local/bin/docker-compose
```
**4. 查看docker-compose是否安裝成功**
```shell
# docker-compose -version
docker-compose version 1.21.2, build a133471
```
**5. 下載Harbor壓縮包并解壓**
下載地址:https://github.com/goharbor/harbor/releases
```shell
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
tar -xzf harbor-offline-installer-v2.4.1.tgz -C /opt/install
```
**6. 修改Harbor的配置**
```shell
cd /opt/install/harbor/
cp harbor.yml.tmpl harbor.yml
# vim harbor.yml
hostname: 192.168.1.29
port: 85
--將https的都注釋掉
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
```
**7. 安裝Harbor**
```shell
./prepare
./install.sh
```
**8. 啟動Harbor**
```shell
--啟動。 ps. 如果下面的命令啟動失敗則用該命令 docker-compose -f /opt/install/harbor/harbor.yml up -d 啟動
docker-compose up -d
--停止
docker-compose stop
--重啟
docker-compose restart
```
**9. 瀏覽器訪問Harbor:http://192.168.1.29:85**
默認賬戶`admin`,默認密碼`Harbor12345`。
<br/>
# 2. 在Harbor創建用戶和項目
**1. 創建項目`tensquare`**
>[info]Harbor的項目分為公開和私有的:
>公開項目:所有用戶都可以訪問,通常存放公共的鏡像,默認有一個library公開項目。
>私有項目:只有授權用戶才可以訪問,通常存放項目本身的鏡像。

**2. 創建用戶`harborZhangsan/harborZhang3`**

**3. 給私有項目分配用戶**


| 角色 |權限說明|
|----|----|
| 訪客 |對于指定項目擁有只讀權限|
| 開發人員 |對于指定項目擁有讀寫權限|
| 維護人員 |對于指定項目擁有讀寫權限,創建 Webhooks|
| 項目管理員 |除了讀寫權限,同時擁有用戶管理/鏡像掃描等管理權限|
<br/>
# 3. 把鏡像上傳到Harbor
下面演示將`production-server`機器上的鏡像上傳到位于`docker-server`機器上的Harbor。
<br/>
**1. 在production-server機器上完成下面步驟**
```shell
(1) 把Harbor地址加入到Docker信任列表
# vim /etc/docker/daemon.json
{
"registry-mirrors":[
"https://zydiol88.mirror.aliyuncs.com"
],
"insecure-registries":[
"192.168.1.29:85" --這個是harbor地址
]
}
(2) 重啟docker
systemctl restart docker
(3) 登錄Harbor
docker login -u harbor賬號 -p harbor密碼 192.168.1.29:85
(4) 給需要上傳到Harbor的鏡像打標簽
--查看當前機器有哪些鏡像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tensquare-eureka-server v1.0 b82ccd24a80b About an hour ago 150MB
--給 tensquare-eureka-server 鏡像打標簽
docker tag tensquare-eureka-server:v1.0 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0
(5) 推送鏡像到Harbor
docker push 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0
```
**2. 登錄到Harbor便可以看到推送的鏡像了**

<br/>
# 4. 從Harbor下載鏡像
下面演示從Harbor上下載鏡像。
<br/>
**1. 在需要從Harbor上拉取鏡像的機器需要完成如下步驟**
```shell
(1) 安裝Docker,并啟動Docker
(2) 把Harbor地址加入到Docker信任列表
# vim /etc/docker/daemon.json
{
"registry-mirrors":[
"https://zydiol88.mirror.aliyuncs.com"
],
"insecure-registries":[
"192.168.1.29:85" --這個是harbor地址
]
}
(3) 重啟docker
systemctl restart docker
(4) 登錄Harbor
docker login -u harbor賬號 -p harbor密碼 192.168.1.29:85
```
**2. 拉取鏡像**
Harbor提供了鏡像拉取命令。

```shell
docker pull 192.168.1.29:85/tensquare/tensquare-eureka-server@sha256:f8e52604958377d7934d3f211d0537df2fbd41a085e7f48673f963ce03b82a54
或者如下拉取:
docker pull 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0
```
- 相關概念
- 軟件開發生命周期
- 軟件開發瀑布模型
- 軟件的敏捷開發
- 持續集成
- Jenkins介紹
- Jenkins是什么
- Jenkins的特征
- Jenkins環境搭建
- 搭建架構說明
- Gitlab安裝與配置
- Jenkins安裝與配置
- Tomcat安裝和配置
- Jenkins構建項目
- 自由風格軟件項目構建
- Maven項目構建
- Pipeline流水線項目構建
- Pipeline是什么
- Pipeline語法
- 流水線項目構建演示
- Pipeline Script from SCM
- 構建觸發器
- 觸發遠程構建
- 其他工程構建后觸發
- 定時構建
- 輪詢SCM
- Git hook自動觸發構建
- 參數化構建
- 配置郵箱發送構建結果
- SonarQube代碼審查平臺
- SonarQube是什么
- SonarQube平臺搭建
- 安裝jdk11
- 安裝數據庫PostgreSQL12
- 安裝SonarQube
- SonarQube實現代碼審查
- Jenkins+Docker+SpringCloud(1)
- 流程說明
- 環境搭建
- 服務器列表
- Docker安裝與配置
- Harbor安裝與配置
- Nginx安裝與配置
- 微服務持續集成演示
- Jenkins上配置
- 微服務項目配置
- 部署前端靜態web網站