使用openSSH的方式
如果我們項目的部署環境在windows環境上,我們可以選擇給服務器安裝openSSH的方式,然后以腳本的方式進行部署。也可以通過web容器的對外訪問地址,發布到web容器上(如tomcat容器)。
下載openSSH安裝包
博主這里的操作系統是64位的,因此選擇這里選擇64位的zip包進行下載。
安裝openSSH服務
將zip包進行解壓,然后以管理員的方式運行cmd命令行工具,並執行下圖所示的命令。
cd "D:\Program Files (x86)\OpenSSH-Win64"
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
#設置服務自動啟動並啟動服務
sc config sshd start= auto
net start sshd
進行連接
sshd服務安裝之后,我們可以使用windows賬號進行遠程連接。
ssh account@ip
ssh成功連接之后,就會出現下圖所示的提示。
上面我們使用的是用戶名和密碼的方式進行遠程連接,下面我們使用rsa的方式進行遠程連接。第一步,先將C:\ProgramData\ssh\sshd_config文件中的相關配置注釋。
第二步,在遠程主機的ssh目錄下,將本機的ras公鑰加入authorized_keys文件中。
直接使用bat腳本進行發布
這里以springboot的jar包為例,使用了nssm.exe工具來進行windows服務的部署,沒有使用過的小伙伴可以先進行下載。主要使用到了下面三個腳本,這三個腳本都在springboot項目的跟目錄下,然后將對應的配置修改之后,只要運行一個copy.bat腳本即可。
copy.bat腳本,主要是拷貝資源,然后運行遠程服務器的bat腳本。
@echo off
set server=17637@192.168.3.33
set rootPath=d:\\project\\api
set tempPath=d:\\project
set batPath=%rootPath%\\run.bat
set projectName=userweb-0.0.1-SNAPSHOT.jar
scp -r run.bat %server%:%rootPath%\\run.bat
scp -r main.bat %server%:%rootPath%\\main.bat
scp -r ./userweb/target/%projectName% %server%:%tempPath%\\%projectName%
ssh %server% %rootPath%\\main.bat
main.bat腳本,主要用於將java程序部署成windows服務。
@echo off
set serviceName=userweb
set "state=100"
set server=17637@192.168.3.33
set rootPath=d:\\project\\api
set tempPath=d:\\project
set projectName=userweb-0.0.1-SNAPSHOT.jar
for /f "tokens=3" %%i in ('sc query %serviceName% ^| findstr /i state') do (
set "state=%%i"
if "%%i" == "4" ( nssm stop %serviceName% )
)
if "%state%" == "100" (
cp -r %tempPath%\\projectName %rootPath%\\projectName
nssm install %serviceName% d:\\project\\api\\run.bat
)
nssm start %serviceName%
exit
run.bat腳本,nssm工具
java -jar d:\\project\\api\\userweb-0.0.1-SNAPSHOT.jar
查看效果:
使用jenkins+cmd命令構建任務
使用deploy to container插件
如果沒有安裝deploy to container插件,先進行插件的安裝。
配置tomcat
在tomcat安裝目錄下的conf/tomcat-users.xml中,添加遠程登陸的用戶。內容添加后需要重啟tomcat容器。
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin"/>
<user username="root" password="123456" roles="admin,manager,manager-script,manager-gui"/>
給tomcat添加完用戶之后,可以通過tomcat訪問路徑/manager,進行登陸。
配置jenkins任務
大部分配置都跟之前jar包部署的類似,這里我們只需要着重配置一下tomcat的信息即可。
開始構建任務
博主微信公眾號
