Preserve local macOS client state during installs
This commit is contained in:
@@ -260,7 +260,11 @@ copy_source() {
|
||||
[ -f "$source_dir/docker-compose.client.yml" ] || die "invalid Harbor source archive"
|
||||
log "installing files to $INSTALL_DIR"
|
||||
mkdir -p "$INSTALL_DIR"
|
||||
cp -R "$source_dir/." "$INSTALL_DIR/"
|
||||
rsync -a --delete \
|
||||
--exclude='.env' \
|
||||
--exclude='.runtime' \
|
||||
--exclude='.git' \
|
||||
"$source_dir/" "$INSTALL_DIR/"
|
||||
}
|
||||
|
||||
download_source() {
|
||||
@@ -282,6 +286,7 @@ fi
|
||||
|
||||
need docker
|
||||
need curl
|
||||
need rsync
|
||||
need tar
|
||||
|
||||
docker compose version >/dev/null 2>&1 || die "Docker Compose plugin is required"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
export const HARBOR_VERSIONS = Object.freeze({
|
||||
macClient: '0.21.2',
|
||||
macClient: '0.21.3',
|
||||
gatewayClient: '0.22.0',
|
||||
gatewayBackend: '0.22.3',
|
||||
});
|
||||
|
||||
@@ -40,3 +40,12 @@ test('one-line installer extracts the archive and hands it to the macOS installe
|
||||
fs.rmSync(tmp, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('macOS installer removes stale archive files without deleting local state', () => {
|
||||
const installer = fs.readFileSync(path.join(root, 'scripts', 'install-macos-client.sh'), 'utf8');
|
||||
|
||||
assert.match(installer, /rsync -a --delete/);
|
||||
assert.match(installer, /--exclude='\.env'/);
|
||||
assert.match(installer, /--exclude='\.runtime'/);
|
||||
assert.match(installer, /--exclude='\.git'/);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user