Page History
...
- Patches are offered from .jar Java archive files or from .tar.gz tarball archive files.
- The same patch files are applied to Unix and Windows.
- Patch file names follow the scheme:
- Unix, Windows:
js7_joc.<release>-PATCH.API-<sequence>.<issue-key>[.<security-level>].[jar|tar.gz|jar}
- The following placeholders are used:
release
: The JS7 release number, see Releases.sequence
: Patches for a given release are assigned ascending numbers starting from 1. Patches with a higher number include any patches with lower numbers.issue-key
: The issue key in the SOS Change Management System, for example: JS-1984.security-level
: The security level applies if the patch is specific for JOC Cockpit running in one of the security levels low, medium, high. For details see JS7 - Security Architecture.
- Example:
- Unix, Windows:
js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
,js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
- Unix, Windows:
- Unix, Windows:
- Patch .tar.gz archive files do not include a directory hierarchy.
...
Before applying patches users might want to verify the integrity and authenticity of downloaded patch files, see JS7 - Verifying releases.
...
The patch examples will not impact a JOC Cockpit installation and are used for instructional purposes only, for details see JS-1984.
Note: The JOC Cockpit has to be stopped before applying patches.
Applying Patch on Unix
Manual Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# navigate invoke shell and switch to the target directory for patches cd /var/ user account that owns the JOC Cockpit's data directory # navigate to the data directory for patches cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes # verify the directory by checking if this file is available ls api-schema-version.json # download the .jar patch file curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar -O # extract the .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar # remove the .jar file rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# invoke shell and switch to the user account that owns the JOC Cockpit's data directory # navigate to the targetdata directory for patches cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes # verify the directory by checking if this file is available ls api-schema-version.json # download the .tar.gz patch archive curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz -O # extract the patch archive that includes .jar files tar -xvzfxvpozf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz # extract each .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar # remove the .jar file and .tar.gz patch archive rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar rm js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz |
...
Automated Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
@rem navigate# invoke shell and switch to the targetuser directoryaccount for patches cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes @rem verifythat owns the directoryJOC byCockpit's checking if this file is available dir api-schema-version.json @rem download from URL data directory # download the .jar patch file curl 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.jar' -O @rem copy # from download location (could be different from this example) copy %USERPROFILE%\Downloads\apply patch ./js7_install_joc.sh \ --patch-jar=js7_joc.2.2.3-PATCH.API-1.JS-1984.jar . \ @rem extract the .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar @rem remove the .jar file del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar --patch=JS-1984 \ --patch-key=API-1 \ --home=/opt/sos-berlin.com/js7/joc \ --data=/var/sos-berlin.com/js7/joc |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@rem navigate# invoke shell and switch to the targetuser account directorythat forowns patches cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes @rem verify the directory by checking if this file is available dir api-schema-version.json @rem download from URL https:/the JOC Cockpit's data directory # download the .tar.gz patch archive curl 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz' -O @rem copy from # downloadapply location (could be different from this example) copy %USERPROFILE%\Downloads\the patch ./js7_install_joc.sh \ --tarball=js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz .\ @rem extract the .tar.gz --patch archive that includes .jar files tar.exe -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz @rem extract each .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH=JS-1984 \ --patch-key=API-1 \ --home=/opt/sos-berlin.com/js7/joc \ --data=/var/sos-berlin.com/js7/joc |
Applying Patch on Windows
Manual Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory
@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes
@rem verify the directory by checking if this file is available
dir api-schema-version.json
@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.jar
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.jar .
@rem extract the .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
@rem remove the .jar file
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory
@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes
@rem verify the directory by checking if this file is available
dir api-schema-version.json
@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz .
@rem extract the .tar.gz patch archive that includes .jar files
tar.exe -xzf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem extract each .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
@rem remove the .jar files and .tar.gz patch archive
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz |
Automated Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# invoke PowerShell and switch to the user account that owns the JOC Cockpit's data directory
# download from URL
Invoke-WebRequest `
-Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar' `
-Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
# apply the patch
./Install-JS7Joc.ps1 `
-PatchJar js7_joc.2.2.3-PATCH.API-1.JS-1984.jar `
-Patch JS-1984 `
-PatchKey API-1 `
-HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc `
-Data $env:ProgramData\sos-berlin.com\js7\joc |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# invoke PowerShell and switch to the user account that owns the JOC Cockpit's data directory # download from URL Invoke-WebRequest ` -Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz' ` -Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz # apply the patch ./Install-JS7Joc.ps1 ` -Tarball js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.jargz ` @rem remove the .jar files and .tar.gz patch archive del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz-Patch JS-1984 ` -PatchKey API-1 ` -HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc ` -Data $env:ProgramData\sos-berlin.com\js7\joc |
Notes
The examples use the jar
command that is available from a Java JDK. Should a Java JDK not be in place then the unzip
command can be used.
...
Note: The JOC Cockpit has to be restarted to apply patches.
Hint: For automated rollout of patches see JS7 - Automated Installation and Update.
restarted to apply patches.
Note: Users are discouraged from using Note: As an alternative for Windows users can download the .jar patch file to the target directory and use tools such as 7-Zip to extract the patch archive in case of manual patching. Instead, use the tools available from the OS as indicated by the examples. Do not create a sub-folder from the archive name but extract directly to the directory hierarchy as indicated above.
Hint: For automated rollout of patches see JS7 - Automated Installation and Update.
Removing Patches
Patches are automatically removed when a JOC Cockpit release is updated or upgraded by JS7 - JOC Cockpit Installation On Premises or using the installation scripts as indicated with JS7 - Automated Installation and Update..
...