Merge pull request #9197 from ninjadq/update_migration_doc_for_1.9

Update the doc of migration
This commit is contained in:
Wang Yan 2019-09-24 16:55:03 +08:00 committed by GitHub
commit e7450a6d33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,55 +17,71 @@ Since the migration might alter the database schema and the settings of `harbor.
## Upgrading Harbor and Migrating Data ## Upgrading Harbor and Migrating Data
1. Log in to the host that Harbor runs on, stop and remove existing Harbor instance if it is still running: 1. Log in to the host that Harbor runs on, stop and remove existing Harbor instance if it is still running:
```
```sh
cd harbor cd harbor
docker-compose down docker-compose down
``` ```
2. Back up Harbor's current files so that you can roll back to the current version if necessary. 2. Back up Harbor's current files so that you can roll back to the current version if necessary.
```
```sh
mv harbor /my_backup_dir/harbor mv harbor /my_backup_dir/harbor
``` ```
Back up database (by default in directory `/data/database`) Back up database (by default in directory `/data/database`)
```
```sh
cp -r /data/database /my_backup_dir/ cp -r /data/database /my_backup_dir/
``` ```
3. Get the latest Harbor release package from Github: 3. Get the latest Harbor release package from Github:
https://github.com/goharbor/harbor/releases [https://github.com/goharbor/harbor/releases](https://github.com/goharbor/harbor/releases)
4. Before upgrading Harbor, perform a migration first. The migration tool is delivered as a docker image, so you should pull the image from docker hub. Replace [tag] with the release version of Harbor (for example, v1.9.0) in the command below: 4. Before upgrading Harbor, perform a migration first. The migration tool is delivered as a docker image, so you should pull the image from docker hub. Replace [tag] with the release version of Harbor (for example, v1.9.0) in the command below:
```
```sh
docker pull goharbor/harbor-migrator:[tag] docker pull goharbor/harbor-migrator:[tag]
``` ```
5. If you are upgrading from v1.7.x, migrate from `harbor.cfg` to `harbor.yml`. 5. If you are current version is v1.7.x or earlier, i.e. migrate config file from `harbor.cfg` to `harbor.yml`.
**NOTE:** You can find the ${harbor_yml} in the extracted installer you got in step `3`, after the migration the file `harbor.yml` **NOTE:** You can find the ${harbor_yml} in the extracted installer you got in step `3`, after the migration the file `harbor.yml`
in that path will be updated with the values from ${harbor_cfg} in that path will be updated with the values from ${harbor_cfg}
``` ```sh
docker run -it --rm -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.yml -v ${harbor_yml}:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:[tag] --cfg up docker run -it --rm -v ${harbor_cfg}:/harbor-migration/harbor-cfg/harbor.yml -v ${harbor_yml}:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:[tag] --cfg up
``` ```
Otherwise, If your version is 1.8.x or higher, just upgrade the `harbor.yml` file.
```sh
docker run -it --rm -v ${harbor_yml}:/harbor-migration/harbor-cfg/harbor.yml goharbor/harbor-migrator:[tag] --cfg up
```
**NOTE:** The schema upgrade and data migration of the database is performed by core when Harbor starts, if the migration fails, please check the log of core to debug. **NOTE:** The schema upgrade and data migration of the database is performed by core when Harbor starts, if the migration fails, please check the log of core to debug.
6. Under the directory `./harbor`, run the `./install.sh` script to install the new Harbor instance. If you choose to install Harbor with components such as Notary, Clair, and chartmuseum, refer to [Installation & Configuration Guide](../docs/installation_guide.md) for more information. 6. Under the directory `./harbor`, run the `./install.sh` script to install the new Harbor instance. If you choose to install Harbor with components such as Notary, Clair, and chartmuseum, refer to [Installation & Configuration Guide](../docs/installation_guide.md) for more information.
## Roll Back from an Upgrade ## Roll Back from an Upgrade
If, for any reason, you want to roll back to the previous version of Harbor, perform the following steps: If, for any reason, you want to roll back to the previous version of Harbor, perform the following steps:
1. Stop and remove the current Harbor service if it is still running. 1. Stop and remove the current Harbor service if it is still running.
```
```sh
cd harbor cd harbor
docker-compose down docker-compose down
``` ```
2. Remove current Harbor instance. 2. Remove current Harbor instance.
```
```sh
rm -rf harbor rm -rf harbor
``` ```
3. Restore the older version package of Harbor. 3. Restore the older version package of Harbor.
```sh ```sh
mv /my_backup_dir/harbor harbor mv /my_backup_dir/harbor harbor
``` ```
@ -74,8 +90,10 @@ If, for any reason, you want to roll back to the previous version of Harbor, per
5. Restart Harbor service using the previous configuration. 5. Restart Harbor service using the previous configuration.
If previous version of Harbor was installed by a release build: If previous version of Harbor was installed by a release build:
```sh ```sh
cd harbor cd harbor
./install.sh ./install.sh
``` ```
**NOTE**: While you can roll back an upgrade to the state before you started the upgrade, Harbor does not support downgrades. **NOTE**: While you can roll back an upgrade to the state before you started the upgrade, Harbor does not support downgrades.