Jenkins x Bitbucket x Angular x WildFly
上次有提到透過Container檔案共用,可以讓Jenkins Build好的檔案放到部署的資料夾
回顧先前提到的系統架構圖
現在,我們要先以Jenkins為中心
從Bitbucket取得程式碼,Build Angular的程式碼,部署到WildFly上
雖然說是部署,但這Case其實就是複製到某資料夾而已
現在,我們要先以Jenkins為中心
從Bitbucket取得程式碼,Build Angular的程式碼,部署到WildFly上
雖然說是部署,但這Case其實就是複製到某資料夾而已
在說明開始前有以下假設:
- 已經完成 Angular佈署在WildFly上
本來的 testAngular 這邊改成 angular-dist
- 已經完成Container檔案共用
- Jenkins已經安裝好預設的plugin 跟 Nodejs Plugin
Note: karma plugin 不在本次的說明範圍
大致有三大步驟:
I. 安裝Nodejs的運行版本
II. 設定到bitbucket的ssh key
III. Jenkins 組態設定Build and deploy
I. 安裝Nodejs的運行版本
II. 設定到bitbucket的ssh key
III. Jenkins 組態設定Build and deploy
I. 安裝Nodejs的運行版本
- 到Jenkins首頁,點選管理Jenkins
- 點選 Global Tool Configuration
- 往下滑到NodeJS區塊,點選NodeJS安裝
- 填寫Nodejs相關資訊
我們以 nodejs 8.9.3為例
名稱方便辨識即可(e.g., nodeJS 8.9.3),Version就選擇 8.9.3
由於是Angular開發,我們要安裝 @angular/cli,也讓npm版本是最新的(5.5以前有bug)
II. 設定到Bitbucket的ssh key
- 假設我們已經透過 Keygen 產生一組
id_rsa
與id_rsa.pub
並且把他放到 jenkin容器下的/var/jenkins_home/.ssh/
目錄
該目錄應該會長這樣 (known_hosts可以先忽略)
Jenkins的預設設定,也是抓id_rsa與id_rsa.pub這兩個名稱,若不需要不建議更改 - 接著,到我們的Bitbucket專案的設定裡面選取Access keys → Add Key
- Label命名好之後,將
id_rsa.pub
貼在 Key的欄位並新增
III. Jenkins 組態設定Build and deploy
- 到jenkins首頁點選新增作業
- 命名並選取建置Free-Style專案
- 在原始碼管理把我們要建置的專案URL
git@bitbucket.org:OOOOO/XXXXX.git
填在 Repository URL並新增 Credential Key
- Credentials 設定
Kind我們選擇 SSH Username with private key
Username填寫好後
Private Key我們選擇From the Jenkins master ~/.ssh
密碼如果沒有沒設就不用,其他也暫時可以不用設定
由於未來要自動化考量,傾向把那組Key放在/var/jenkins_home/.ssh/
裡
這樣之後Bitbucket才不需要一直新增新的Access Key - 建置環境與建置設定
建置環境選取Provide Node & npm bin/ folder to PATH
版本就選取NodeJS 8.9.3
建置選擇 shell
在下方輸入npm install ng build cp dist/* /angular-dist/ #看你們佈署在哪個目錄下
- 如果建置成功,我們就可以看到首頁了~
留言
張貼留言