前情提要
操作記錄
下載並安裝 Jenkins(記錄版本為 2.32.1)
連線 localhost:8080,會要求輸入
Administrator password
安裝 Plugins(這裡選擇預設)
安裝畫面
建立管理者帳號密碼
登入後,管理 Jenkins > 設定系統
- 將執行程式數量設定為 1 (安裝完預設為 2,其實可以不用修改)
Shell
設定為C:\Windows\system32\cmd.exe
建立第一個作業,選擇新增作業 > 輸入作業名稱 ,選擇「建立多重設定專案」
執行一次建置,這個步驟是為了產生 work space 。
work space 路徑大致如下.\Jenkins\workspace\Project name
執行 console 並切換路徑至 work space
將 Openshift 上的 nodejs 應用程式 repo 設為 remote
>git remote add prod ssh://5**********************@nodejs-youraccount.rhcloud.com/~/git/nodejs.git/
回到 Jenkins,作業 > 組態 > 建置 > 新增「執行 Windows 批次指令」
1
2
3REM 測試
whoami
git push prod HEAD^:master- 額外處理事項:
直接在 Jenkins server 發 pr 給 openshift 時,發生 503 錯誤。
使用 ssh 登入 openshift 看 log ,發現Node Sass does not yet support your current environment
錯誤
必須登入執行以下語法修正模組問題npm rebuild node-sass
- 額外處理事項:
建置作業,會得到錯誤訊息
1 | 上略... |
原因:主機密鑰驗證失敗,這個錯誤的意思是我的 Jenkins Server 主機並不認得遠端的 Openshift Server 的 host key,主要的原因是 Jenkins Service 在執行的身份是 NT AUTHORITY\SYSTEM
,由於我已經有合適權限的帳號,所以只需要切換執行 Jenkins Server 的身份即可。
如果你尚未建立遠端 ssh 連線的存取權限,或是對 ssh 連線不熟悉,可以參考文末的參考聯結。
參考
- SSH 原理与运用(一):远程登录
- SSH 原理与运用(二):远程操作与端口转发
- [Tip] Windows 使用 ssh 對 Github 進行操作
- 在 Windows 使用「非對稱金鑰」來遠端登入 SSH 的方法
(fin)