upgrade to nexus 3.75.1-01
This commit is contained in:
parent
1c2f7570ed
commit
efe4608194
74
README.md
74
README.md
|
|
@ -109,36 +109,53 @@ The logs are at `/opt/nexus/log/nexus.log`.
|
||||||
|
|
||||||
You can also see them with `journalctl -u nexus`.
|
You can also see them with `journalctl -u nexus`.
|
||||||
|
|
||||||
## OrientDB
|
## H2 Database
|
||||||
|
|
||||||
Nexus uses [OrientDB](https://en.wikipedia.org/wiki/OrientDB) as its database. To directly use it from the console run:
|
Nexus uses [H2 Database](https://en.wikipedia.org/wiki/H2_(database)) as its database management system.
|
||||||
|
|
||||||
|
**NB** Nexus OSS can only use the H2 database management system.
|
||||||
|
|
||||||
|
**NB** Nexus Pro can use the H2 or PostgreSQL database management system.
|
||||||
|
|
||||||
|
The Web based H2 Database Console is available at https://nexus.example.com/h2-console with the following settings:
|
||||||
|
|
||||||
|
| Setting | Value |
|
||||||
|
|----------------|--------------------------------------------------|
|
||||||
|
| Saved Settings | Generic H2 (Embedded) |
|
||||||
|
| Setting Name | Generic H2 (Embedded) |
|
||||||
|
| Driver Class | org.h2.Driver |
|
||||||
|
| JDBC URL | jdbc:h2:/opt/nexus/sonatype-work/nexus3/db/nexus |
|
||||||
|
| User Name | _empty_ |
|
||||||
|
| Password | _empty_ |
|
||||||
|
|
||||||
|
You can also access the database cli shell as:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo su -l # switch to the root user.
|
sudo su -l # switch to the root user.
|
||||||
systemctl stop nexus # make sure nexus is not running while you use the database.
|
systemctl stop nexus # make sure nexus is not running while you use the database.
|
||||||
su -s /bin/bash nexus # switch to the nexus user.
|
su -s /bin/bash nexus # switch to the nexus user.
|
||||||
nexus_home=/opt/nexus/nexus-3.70.3-01 # make sure you have the correct version here.
|
nexus_home=/opt/nexus/nexus-3.75.1-01 # make sure you have the correct version here.
|
||||||
nexus_data=$nexus_home/../sonatype-work/nexus3
|
nexus_data="$(realpath $nexus_home/../sonatype-work/nexus3)"
|
||||||
function orientdb-console {
|
function h2-shell {
|
||||||
java -jar $nexus_home/lib/support/nexus-orient-console.jar $*
|
java \
|
||||||
|
-cp $nexus_home/system/com/h2database/h2/*/h2*.jar \
|
||||||
|
org.h2.tools.Shell \
|
||||||
|
-url jdbc:h2:$nexus_data/db/nexus
|
||||||
}
|
}
|
||||||
cd $nexus_data
|
h2-shell
|
||||||
ls -laF db | grep ^d # list the databases
|
|
||||||
orientdb-console # start the console.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Then connect to one of the databases, e.g. to the `security` database:
|
Then execute some commands and exit the console, e.g.:
|
||||||
|
|
||||||
```plain
|
```sql
|
||||||
connect plocal:db/security admin admin
|
-- see https://h2database.com/html/commands.html
|
||||||
```
|
|
||||||
|
|
||||||
Then execute some commands and exit the orientdb console, e.g.:
|
|
||||||
|
|
||||||
```plain
|
|
||||||
help
|
help
|
||||||
config
|
show schemas;
|
||||||
list classes
|
show tables;
|
||||||
|
show columns from security_user;
|
||||||
|
select * from security_user;
|
||||||
|
select * from api_key_v2;
|
||||||
|
select * from repository;
|
||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -154,24 +171,7 @@ And start nexus again:
|
||||||
systemctl start nexus
|
systemctl start nexus
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information about the console see [Running the OrientDB Console](http://orientdb.com/docs/master/Tutorial-Run-the-console.html).
|
For more information see the [available Command Line Tools](https://h2database.com/html/tutorial.html#command_line_tools).
|
||||||
|
|
||||||
## OrientDB Check Databases
|
|
||||||
|
|
||||||
Execute the commands from the OrientDB section to stop nexus, to enter the
|
|
||||||
nexus account and create the `orientdb-console` function, then:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# check the databases.
|
|
||||||
# NB use CHECK DATABASE -v to see the verbose log.
|
|
||||||
orientdb-console 'CONNECT PLOCAL:db/component admin admin; CHECK DATABASE;'
|
|
||||||
#orientdb-console 'CONNECT PLOCAL:db/component admin admin; REPAIR DATABASE;'
|
|
||||||
orientdb-console 'CONNECT PLOCAL:db/config admin admin; CHECK DATABASE;'
|
|
||||||
orientdb-console 'CONNECT PLOCAL:db/security admin admin; CHECK DATABASE;'
|
|
||||||
#orientdb-console 'CONNECT PLOCAL:db/OSystem admin admin; CONFIG; LIST CLASSES;' # XXX fails to connect. see https://groups.google.com/a/glists.sonatype.com/forum/#!topic/nexus-users/7dVofIwC5HM
|
|
||||||
```
|
|
||||||
|
|
||||||
Then start nexus.
|
|
||||||
|
|
||||||
## Reference
|
## Reference
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,10 +130,12 @@ server {
|
||||||
proxy_send_timeout 120;
|
proxy_send_timeout 120;
|
||||||
proxy_read_timeout 300;
|
proxy_read_timeout 300;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
|
||||||
proxy_set_header Host \$host;
|
location /h2-console/ {
|
||||||
proxy_set_header X-Forwarded-Host \$host;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
proxy_pass http://localhost:8082/;
|
||||||
|
proxy_redirect http://localhost:8082/ /h2-console/;
|
||||||
|
}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
root /opt/nexus/public;
|
root /opt/nexus/public;
|
||||||
|
|
@ -141,6 +143,10 @@ server {
|
||||||
}
|
}
|
||||||
|
|
||||||
location @nexus {
|
location @nexus {
|
||||||
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||||
|
proxy_set_header Host \$host;
|
||||||
|
proxy_set_header X-Forwarded-Host \$host;
|
||||||
|
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||||
proxy_pass http://127.0.0.1:8081;
|
proxy_pass http://127.0.0.1:8081;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ config_authentication='nexus'
|
||||||
|
|
||||||
# install java.
|
# install java.
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/system-requirements#SystemRequirements-Java
|
# see https://help.sonatype.com/repomanager3/product-information/system-requirements#SystemRequirements-Java
|
||||||
apt-get install -y openjdk-8-jre-headless
|
apt-get install -y openjdk-17-jre-headless
|
||||||
apt-get install -y gnupg
|
apt-get install -y gnupg
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -35,17 +35,17 @@ pushd /opt/nexus
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3
|
# see https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3
|
||||||
# see https://help.sonatype.com/repomanager3/product-information/release-notes
|
# see https://help.sonatype.com/repomanager3/product-information/release-notes
|
||||||
# see https://help.sonatype.com/repomanager3
|
# see https://help.sonatype.com/repomanager3
|
||||||
nexus_version=3.70.3-01
|
nexus_version=3.75.1-01
|
||||||
nexus_home=/opt/nexus/nexus-$nexus_version
|
nexus_home=/opt/nexus/nexus-$nexus_version
|
||||||
nexus_tarball=nexus-$nexus_version-unix.tar.gz
|
nexus_tarball=nexus-$nexus_version-unix.tar.gz
|
||||||
nexus_download_url=https://download.sonatype.com/nexus/3/$nexus_tarball
|
nexus_download_url=https://download.sonatype.com/nexus/3/$nexus_tarball
|
||||||
nexus_download_sha1=56bf87028892450b2841756bd9fc4caed6b48287
|
nexus_download_sha1=cfc9e7bdaeb1f1b9fb45aecc7a50821759c8b847
|
||||||
wget -q $nexus_download_url
|
wget -q $nexus_download_url
|
||||||
if [ "$(sha1sum $nexus_tarball | awk '{print $1}')" != "$nexus_download_sha1" ]; then
|
if [ "$(sha1sum $nexus_tarball | awk '{print $1}')" != "$nexus_download_sha1" ]; then
|
||||||
echo "downloaded $nexus_download_url failed the checksum verification"
|
echo "downloaded $nexus_download_url failed the checksum verification"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
tar xf $nexus_tarball # NB this creates the $nexus_home (e.g. nexus-3.70.3-01) and sonatype-work directories.
|
tar xf $nexus_tarball # NB this creates the $nexus_home (e.g. nexus-3.75.1-01) and sonatype-work directories.
|
||||||
rm $nexus_tarball
|
rm $nexus_tarball
|
||||||
install -d -o nexus -g nexus -m 700 .java # java preferences are saved here (the default java.util.prefs.userRoot preference).
|
install -d -o nexus -g nexus -m 700 .java # java preferences are saved here (the default java.util.prefs.userRoot preference).
|
||||||
install -d -o nexus -g nexus -m 700 sonatype-work/nexus3/etc
|
install -d -o nexus -g nexus -m 700 sonatype-work/nexus3/etc
|
||||||
|
|
@ -65,6 +65,11 @@ nexus.security.randompassword=false
|
||||||
# see https://issues.sonatype.org/browse/NEXUS-23205
|
# see https://issues.sonatype.org/browse/NEXUS-23205
|
||||||
# see Scripting Nexus Repository Manager 3 at https://support.sonatype.com/hc/en-us/articles/360045220393
|
# see Scripting Nexus Repository Manager 3 at https://support.sonatype.com/hc/en-us/articles/360045220393
|
||||||
nexus.scripts.allowCreation=true
|
nexus.scripts.allowCreation=true
|
||||||
|
|
||||||
|
# enable the database console.
|
||||||
|
# see https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Sonatype-Nexus-Repository-3#DatabaseConsoleforh2Database
|
||||||
|
nexus.h2.httpListenerEnabled=true
|
||||||
|
nexus.h2.httpListenerPort=8082
|
||||||
EOF
|
EOF
|
||||||
diff -u $nexus_home/etc/nexus-default.properties sonatype-work/nexus3/etc/nexus.properties || true
|
diff -u $nexus_home/etc/nexus-default.properties sonatype-work/nexus3/etc/nexus.properties || true
|
||||||
popd
|
popd
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ binaries: binaries-download
|
||||||
|
|
||||||
binaries-download:
|
binaries-download:
|
||||||
mkdir -p binaries
|
mkdir -p binaries
|
||||||
wget -qO- https://download.sonatype.com/nexus/3/nexus-3.70.3-01-unix.tar.gz \
|
wget -qO- https://download.sonatype.com/nexus/3/nexus-3.75.1-01-unix.tar.gz \
|
||||||
| tar xzf - --strip-components 1 -C binaries
|
| tar xzf - --strip-components 1 -C binaries
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<nx-version>3.70.3-01</nx-version>
|
<nx-version>3.75.1-01</nx-version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ set -euxo pipefail
|
||||||
|
|
||||||
nexus_domain=$(hostname --fqdn)
|
nexus_domain=$(hostname --fqdn)
|
||||||
|
|
||||||
mkdir -p tmp/use-maven-repository-from-gradle && cd tmp/use-maven-repository-from-gradle
|
rm -rf tmp/use-maven-repository-from-gradle
|
||||||
|
mkdir -p tmp/use-maven-repository-from-gradle
|
||||||
|
cd tmp/use-maven-repository-from-gradle
|
||||||
|
|
||||||
#
|
#
|
||||||
# test the maven repository from gradle.
|
# test the maven repository from gradle.
|
||||||
|
|
@ -116,8 +118,8 @@ application {
|
||||||
mainClass = project.mainClassName
|
mainClass = project.mainClassName
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = 17
|
||||||
targetCompatibility = 1.8
|
targetCompatibility = 17
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
manifest {
|
manifest {
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,16 @@ set -euxo pipefail
|
||||||
|
|
||||||
nexus_domain=$(hostname --fqdn)
|
nexus_domain=$(hostname --fqdn)
|
||||||
|
|
||||||
mkdir -p tmp/use-maven-repository-from-mvn && cd tmp/use-maven-repository-from-mvn
|
rm -rf tmp/use-maven-repository-from-mvn
|
||||||
|
mkdir -p tmp/use-maven-repository-from-mvn
|
||||||
|
cd tmp/use-maven-repository-from-mvn
|
||||||
|
|
||||||
#
|
#
|
||||||
# test the maven repository.
|
# test the maven repository.
|
||||||
|
|
||||||
# install maven and the java development kit.
|
# install maven and the java development kit.
|
||||||
sudo apt-get install -y maven
|
sudo apt-get install -y maven
|
||||||
sudo apt-get install -y openjdk-8-jdk-headless
|
sudo apt-get install -y openjdk-17-jdk-headless
|
||||||
sudo apt-get install -y xmlstarlet
|
sudo apt-get install -y xmlstarlet
|
||||||
|
|
||||||
# setup the user maven configuration to use nexus as a mirror the
|
# setup the user maven configuration to use nexus as a mirror the
|
||||||
|
|
@ -72,6 +74,14 @@ mvn \
|
||||||
|
|
||||||
# test publishing a package.
|
# test publishing a package.
|
||||||
pushd example-helloworld
|
pushd example-helloworld
|
||||||
|
# set the java version.
|
||||||
|
xmlstarlet ed --inplace -N pom=http://maven.apache.org/POM/4.0.0 \
|
||||||
|
--subnode /pom:project --type elem --name properties \
|
||||||
|
pom.xml
|
||||||
|
xmlstarlet ed --inplace -N pom=http://maven.apache.org/POM/4.0.0 \
|
||||||
|
--subnode /pom:project/pom:properties --type elem --name maven.compiler.source --value 17 \
|
||||||
|
--subnode /pom:project/pom:properties --type elem --name maven.compiler.target --value 17 \
|
||||||
|
pom.xml
|
||||||
# add the nexus repository to pom.xml.
|
# add the nexus repository to pom.xml.
|
||||||
xmlstarlet ed --inplace -N pom=http://maven.apache.org/POM/4.0.0 \
|
xmlstarlet ed --inplace -N pom=http://maven.apache.org/POM/4.0.0 \
|
||||||
--subnode '/pom:project' \
|
--subnode '/pom:project' \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue