一、Windows安裝OpenSSH
1.下載
https://github.com/PowerShell/Win32-0penSSH/releases
下載最新的 OpenSSH安裝包,如:openSSH-Win64.zip
2.解壓
將壓縮包解壓到 C:\Program Files\OpenSSH
3.安裝
管理員運(yùn)行cmd 進(jìn)入目錄C:\Program Files\OpenSSH
執(zhí)行命令
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
4.啟停服務(wù)
#停止服務(wù)
net stop sshd
#啟動服務(wù)
net start sshd
5.SSH免密登錄
管理員運(yùn)行cmd 進(jìn)入目錄C:\Program Files\OpenSSH
執(zhí)行命令
ssh-keygen
在當(dāng)前用戶的文件夾下會生成一對秘鑰
將文件名 id_ed25519.pub 修改成 authorized_keys
修改 authorized_keys 文件權(quán)限,保留system和用戶
修改配置文件
文件路徑 C:\ProgramData\ssh\sshd config
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PubkeyAuthentication yes
PubkeyAcceptedKeyTypes +ssh-rsa
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
# For this to work you will also need host keys in %programData%/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no
# GSSAPI options
#GSSAPIAuthentication no
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem sftp sftp-server.exe
# Example of overriding settings on a per-user basis
#Match User anoncvs
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
防火墻打開 22 端口,并將生成的秘鑰對里面的私鑰拷貝到客戶端中(更換秘鑰后需要重啟SSH服務(wù)),路徑同服務(wù)端。
二、Jenkins安裝
1.下載
Jenkins由Java語言編寫而成,安裝包即是一個(gè)war包。因此,Jenkins的運(yùn)行啟動依賴于Java環(huán)境,同時(shí),它是免安裝的。
https://www.jenkins.io/download/
2.安裝啟動
命令行:切換到j(luò)enkins.war所在目錄,執(zhí)行命令
java -jar jenkins.war
如果出現(xiàn)端口沖突相關(guān)報(bào)錯(cuò),則可以修改jenkins的端口
java -jar jenkins.war --httpPort=8088
出現(xiàn)以下信息表示啟動成功
3.登錄
根據(jù)自己使用的端口,在瀏覽器界面打開,可以加載出jenkins的登錄界面,如果沒有指定端口,默認(rèn)是8080端口,打開后頁面如下,需要初始化密碼。
進(jìn)入到指定的用戶文件夾中
C:\Users\XXX\.jenkins\secrets\initialAdminPassword
打開這個(gè)文件,里面會有一串密碼,把它復(fù)制出來,回到解鎖Jenkins頁面。
輸入密碼后點(diǎn)擊繼續(xù),這時(shí)候來到了新手入門界面,自定義Jenkins
點(diǎn)擊安裝之后,會讓你創(chuàng)建第一個(gè)管理員用戶,這里可以根據(jù)你的實(shí)際需求來設(shè)置,也可以點(diǎn)擊使用admin賬戶繼續(xù)。
點(diǎn)擊保存并完成后,我們的Jenkins就已經(jīng)準(zhǔn)備就緒了,可以愉快地使用了。
三、項(xiàng)目自動化部署
1.SSH配置
jenkins安裝SSH插件:Manage Jenkins > Plugins
插件裝好后重啟jenkins , 進(jìn)入 Manage Jenkins > System
找到 Publish over SSH
在SSH Servers里面配置SSH的服務(wù)端信息,包括自定義的服務(wù)器名稱、服務(wù)器IP地址、服務(wù)器登錄用戶名、高級選項(xiàng)中的SSH客戶端私鑰(跟本機(jī)SSH公鑰成對生成的秘鑰中的私鑰);配置完成后可以點(diǎn)擊右下角的 “Test Configuration” 測試是否能夠連接成功。
2.項(xiàng)目配置
新建Item,選擇構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目 Freestyle project
源碼管理,添加git倉庫信息以及用戶賬號密碼信息。
Build Steps 構(gòu)建步驟配置
我們是windows服務(wù)器環(huán)境,所以選擇windows相關(guān)的執(zhí)行命令Execute Windows batch command。
#下載依賴
npm i
#打包
npm run build:pro
#進(jìn)入項(xiàng)目文件夾
cd C:\ProgramData\Jenkins\.jenkins\workspace\EnergyAllInOne.client.beta
#刪除原有的壓縮包
del ZTEnergyAllInOneWeb.zip
#構(gòu)建新的壓縮包
zip -r ZTEnergyAllInOneWeb.zip ZTEnergyAllInOneWeb
圖中是前端項(xiàng)目的打包相關(guān)命令,其他項(xiàng)目可以自行配置。
構(gòu)建后步驟配置 選擇執(zhí)行命令類型Send build artifacts over SSH
配置SSH Server 服務(wù)器選擇(SSH配置中配置的)
Transfer Set
信息填寫完成后保存即可回到首頁進(jìn)行構(gòu)建。
如果構(gòu)建失敗,可以點(diǎn)擊構(gòu)建歷史進(jìn)入查看具體的構(gòu)建信息文章來源:http://www.zghlxwxcb.cn/news/detail-835484.html
3.權(quán)限控制
參考博客:jenkins 權(quán)限控制(用戶只能看指定的項(xiàng)目)文章來源地址http://www.zghlxwxcb.cn/news/detail-835484.html
到了這里,關(guān)于【OpenSSH+Jenkins搭建項(xiàng)目自動化部署】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!