部署-jenkins發布項目到windows環境


使用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文件中的相關配置注釋。

enter description here

第二步,在遠程主機的ssh目錄下,將本機的ras公鑰加入authorized_keys文件中。

enter description here

直接使用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插件,先進行插件的安裝。

安裝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,進行登陸。

登陸tomcat管理界面

配置jenkins任務

大部分配置都跟之前jar包部署的類似,這里我們只需要着重配置一下tomcat的信息即可。

配置tomcat信息

開始構建任務

enter description here

博主微信公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM