$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
$ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
$ sudo apt-get update
$ sudo apt-get install jenkins
$ sudo service jenkins start
如此一來,預設在 http://localhost:8080 就可以瀏覽到。
接著安裝一些工具,之後會用到:
$ sudo apt-get install git
接著紀錄一下自己的操作設定:
- 管理 Jenkins -> 設定全域安全性
- 勾選 Disable remember me
- 安全性領域
- 使用 Jenkins 內建使用者資料庫
- 授權
- 矩陣型安全性
- 關閉 匿名使用者 所有權限
- 管理 Jenkins -> 管理外掛程式
- 更新
- 把所有項目更新
- 可用的
- 搜尋 GIT plugin 跟 GIT client plugin 並安裝(若系統沒有 git,安裝完可以在 Jenkins 組態裡看到一些錯誤訊息)
如此一來,就建立好 Jenkins 環境,而新工作也能夠用 git 了!擬個範例試試:假設專案在 bitbucket 管理,並使用 PHP CodeIgniter 架構,定期透過此專案來執行分析任務
作法:
- Jenkins -> 新增作業 -> 填寫作業名稱(StudyJenkinsRoutine) -> 建置 Free-Style 軟體專案
- 原始碼管理
- Git
- Repository URL: git@bitbucket.org:group/project.git
- Credentials -> Add -> SSH Username with private key -> Enter directly (搭配 Bitbucket SSH 存取即可)
- Additional Behaviours -> Advanced sub-modules behaviors -> 勾選 Recursively update submodules
- 建置觸發程序
- 定期建置(每十五分鐘跑一次,語法跟 crontab 一樣,但會建議用 H/15 來使用)
- */15 * * * *
- 建置
- 執行 Shell
- php $WORKSPACE/index.php controller/function
關於 Jenkins 相關的路徑安排都跟 jenkins 帳號相關,例如 Jenkins 家目錄在 /var/lib/jenkins ,而添加一個任務名為 StudyJenkinsRoutine 時,其 $WORKSPACE 會是 /var/lib/jenkins/jobs/StudyJenkinsRoutine/workspace 的,這個位置也是 git clone 的資料所在。
最後,如果 Jenkins 是架設在 AWS EC2 上,若可以搭配 ELB 跟 SSL 憑證時,可以偷懶使用 ELB 將 https 流量導向到 Jenkins 8080 ,可以無痛提供 https 服務囉。
沒有留言:
張貼留言