它的選項非常多,實在是無法在短時間內完全理解
本篇是慢慢摸索之中,所留下的紀錄
未來有心得時,會再持續更新吧
最初的目標是想利用 Jenkins 幫忙編譯 Maven 專案
編譯成功之後,自動佈署到 Tomcat 上
1. Install Plugins
從 Jenkins 首頁 → Manage Jenkins → Manage Plugins,可以管理 Plugins
一共需要安裝以下的 Plugin
- Maven Integration plugin - 可以建立 Maven 專案工作
- Deploy to container plugin - 建置完成之後,可以佈署到 Tomcat Web Server
2. Create a new job
2-1. 在 Jenkins 首頁,點選 New Item 或是 create new jobs
2-2. 選擇 Maven project
2-3. 設定 Git 路徑、帳號密碼、Branch name
如果 Git 是用 SSH 連線時,由於 Jenkins 沒有 interaction 機制,在過程中沒辦法輸入密碼。可行的解決方法為:
- 利用 Smart HTTP,透過 HTTP CGI 來實現
- 產生 SSH public/private key,把 public key 放到 git server 上
用第二種方法時,需要 git server 的權限
參考 : http://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
進入 Jenkins,新增使用者並選擇 SSH Username with private key
貼上 private key 內容、在 Passphrase 欄位填入 password
可以多選
Poll SCM 使用上與 crontab 相同,如下圖範例為每一分鐘會做一次
Build 之前的環境設定
Build 之前可以先執行 script 動作
可以填入 Maven 參數
Build 之後的動作,執行的時機
Post-build action 選擇 Deploy war/ear to a container
按下儲存之後,回到 Work 頁面
選擇 Build Now 可以立即執行
參考 : http://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
Don't use a password. Generate a passphraseless SSH key and push it to your VM. If you already have an SSH key, you can skip this step… Just hit Enter for the key and both passphrases: $ ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub. Copy your keys to the target server: $ ssh-copy-id id@server id@server's password: Now try logging into the machine, with ssh 'id@server', and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. Finally check logging in… $ ssh id@server id@server:~$ You may also want to look into using ssh-agent if you want to try keeping your keys protected with a passphrase.
進入 Jenkins,新增使用者並選擇 SSH Username with private key
貼上 private key 內容、在 Passphrase 欄位填入 password
2-4. Build Triggers
可以多選
Poll SCM 使用上與 crontab 相同,如下圖範例為每一分鐘會做一次
2-5. Build
Build 之前的環境設定Build 之前可以先執行 script 動作
可以填入 Maven 參數
Build 之後的動作,執行的時機
Post-build action 選擇 Deploy war/ear to a container
2-6. 寄 E-Mail 通知
3. Build Now
按下儲存之後,回到 Work 頁面
選擇 Build Now 可以立即執行
沒有留言:
張貼留言