[Jenkins] 安裝 Jenkins 與Laravel在jenkins上執行測試

安裝

我這邊使用 docker 作為快速建置的方式
可以使用 https://hub.docker.com/repository/docker/neilwangtw/jenkins-php72
此為環境 PHP7.2 且 最新的 jenkins
詳細的 Dockerfile 與 docker-compose.yml 在這

使用方式就是先建立個目錄 /data/jenkins
接著進去裡面將 docker-compose.yml 啟起來
docker-compose up -d
jenkins 預設是使用 8080 port
接下來就是去 web 介面設定


一開始在 /data/jenkins/secrets/initialAdminPassword 會有一組 hash
是拿來解鎖 Jenkins 的


輸入完之後
一開始可以先安裝 jenkins 推薦的 plugin
有額外需要的之後可以再裝!

到這邊就設定完了

從 bitbucket 上取得 repo

1. 先透過 docker 產生一組 ssh 的金鑰
# docker exec -it {jenkins docker id} bash
# su jenkins
$ cd ~
$ ssh-keygen
這時候就金鑰就會在實體主機的 /data/jenkins/.ssh
公鑰: /data/jenkins/.ssh/id_rsa.pub
私鑰: /data/jenkins/.ssh/id_rsa
註: 如果遇到權限問題,可以先把 /data/jenkins 的權限設定到 777
或是先在 docker 內部產生一個檔案,看一下對應實體主機,
所產生的 user 與 group 為何,我自己這邊產生的是 tss:kvm

2. 先設定用來可以存取 bitbucket 的密鑰 

在 Repository Settings 內有 Access keys
或是直接到 https://bitbucket.org/組織/專案名稱/admin/access-keys/
去新增 jenkins 的 ssh 公鑰


這個設定完就代表 jenkins 這個用戶可以去 bitbucket 上 pull repository 了!

3. 將 ssh 私鑰設定在 jenkins 內部

在 jenkins 中,要先去設定一下私鑰











4. 設定 job
首頁左上角的 新增作業 > 建置 Free-Style 軟體專案











5. 去 bitbucket 上面設定 webhook



註:要記得前往 管理 Jenkins > Script 主控台輸入底下的語法,讓單元測試的網頁可以正常呈現
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline';");
System.setProperty('user.timezone', 'Asia/Taipei');
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Taipei');




留言

這個網誌中的熱門文章

[MySQL] schema 與資料類型優化

[翻譯] 介紹現代網路負載平衡與代理伺服器