05.06.2019

Управление экземпляром через WLST и другие полезные вещи для CI/CD

WLST, ps-скрипты и другие вещи, которые могут оказаться полезными при реализации CI через Atlassian Bamboo на серверах Microsoft.
Распаковка архива, сайлент-режим, cmd с использоватением распаковщика от клиента Oracle
set PATH=%ORACLE_HOME%\12.2.0\client_2\BIN
unzip -q -d dbschema dbschema.zip
Остановка ноды, используется кастомная py-утилита
echo off
set CLASSPATH=%MW_HOME%\wlserver_10.3\server\lib;%MW_HOME%\wlserver_10.3\server\lib\weblogic.jar;%MW_HOME%\wlserver_10.3\common\bin 
set CMD_PATH=С:\path_to_py_utility
java -version
echo CLASSPATH=%CLASSPATH%
echo * Stop domain...
java weblogic.WLST %CMD_PATH%/manageServers.py -u WL_USER -p WL_USER_PASS -a t3://wl_instance:7001 -n wl_node1 -c stop
Удаление приложения
echo off
set CLASSPATH=%MW_HOME%\wlserver_10.3\server\lib\weblogic.jar;%MW_HOME%\wlserver_10.3\common\bin 
java -version
echo CLASSPATH=%CLASSPATH%
echo * Delete myApp ...
java weblogic.Deployer -adminurl t3://wl_instance:7001 -user WL_USER -password WL_USER_PASS  -undeploy -name myApp
Чистка каталогов на удаленной Windows-машине через Power Shell. Требуются данные для входа на удаленную машину
$Username = 'DOMAIN\admin'
$Password = 'password'
$Machine = 'ws1'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$SecureString = $pass
# Users you password securly
$MySecureCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString
$SSA = New-PSSession -ComputerName $Machine -Name SSA -Credential $MySecureCreds
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\myApp\generated\jsp_servlet\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\cache\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\tmp\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\logs\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\cache\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\tmp\* -Recurse -Force| Remove-Item -Recurse -Force}
Invoke-Command -Session $SSA -ScriptBlock{Get-ChildItem C:\oracle\middleware\user_projects\domains\wl_domain\servers\node1\logs\* -Recurse -Force| Remove-Item -Recurse -Force}
Установка приложения. -upload означает, что нужно загрузить war-файл из текущего каталога на удаленный сервер. -stage применяется staging-режим при установке
echo off
set CLASSPATH=%MW_HOME%\wlserver_10.3\server\lib\weblogic.jar;%MW_HOME%\wlserver_10.3\common\bin 
java -version
echo CLASSPATH=%CLASSPATH%
echo * Install myApp ...
java weblogic.Deployer -adminurl t3://wl_instance:7001 -user WL_USER -password WL_USER_PASS -deploy -name myApp -source my-app.war -targets node1,node2 -stage -upload
echo * OK.
Поднятие ноды, используется кастомная py-утилита
echo off
set CLASSPATH=%MW_HOME%\wlserver_10.3\server\lib;%MW_HOME%\wlserver_10.3\server\lib\weblogic.jar;%MW_HOME%\wlserver_10.3\common\bin 
set CMD_PATH=С:\path_to_py_utility
java -version
echo CLASSPATH=%CLASSPATH%
echo * Stop domain...
java weblogic.WLST %CMD_PATH%/manageServers.py -u WL_USER -p WL_USER_PASS -a t3://wl_instance:7001 -n wl_node1 -c start

Комментариев нет :