伺服器配置:
- 作業系統:CentOS 7.6 64位
- CPU:1核
- 記憶體:2GB
- 公網頻寬:1Mbps
一、安裝 Java SDK
1、進入根目錄,檢視是否有 Java
環境
$ cd /
$ java -version
有環境:
無環境:
2、若已經有環境,則直接去安裝 nginx
,若無環境,這裡我們安裝 java-1.8.0
// 檢索 `yum` 中有沒有 `java1.8` 的包
$ yum list java-1.8*
// 開始安裝
$ yum install java-1.8.0-openjdk* -y
// 檢視版本
$ java -version
二、安裝 nginx
1、通過 rpm
安裝 nginx
$ rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ sudo yum install -y nginx
2、安裝完成後一些資料夾位置和操作如下
// 啟動 nginx
$ nginx -c nginx.conf
// 網站檔案存放預設目錄
$ /usr/share/nginx/html
// 網站預設站點配置
$ /etc/nginx/conf.d/default.conf
// 自定義Nginx站點配置檔案存放目錄
$ /etc/nginx/conf.d/
// Nginx 全域性配置檔案
$ /etc/nginx/nginx.conf
// 重啟 nginx
$ nginx -s reload
// 基於 nginx 的靜態部署
$ server {
$ listen 80;
$ server_name _;
$ root /usr/share/nginx/html;
$ index Home.html;
$ }
3、安裝完畢之後,我們需要啟動 nginx
,啟動成功後,訪問伺服器的 ip
地址,如下圖即成功
三、安裝及啟動 jenkins
1、下載安裝 jenkins
$ wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm
$ yum -y localinstall jenkins-2.222.3-1.1.noarch.rpm
2、jenkins
主要目錄
// jenkins 安裝目錄,WAR 包會放在這裡
/usr/lib/jenkins/
// jenkins 配置檔案,埠,JENKINS_HOME 等都可以在這裡配置
/etc/sysconfig/jenkins
// 預設的 JENKINS_HOME
/Nar/lib/jenkins/
// Jenkins 日誌檔案
/var/log/jenkins/jenkins.log
3、啟動並配置 jenkins
進入配置檔案將啟動使用者修改為 root
,預設是 Jenkins
。
$ vim /etc/sysconfig/jenkins
...
JENKINS USER = "root"
...
// 啟動Jenkins
$ systemct1 start jenkins
// 關閉 jenkins
$ systemct1 enable jenkins
在瀏覽器輸入 http://你的ip地址:8080
,進入以下介面即成功
4、根據介面提示資訊去檢視密碼
$ cat /var/lib/jenkins/secrets/initialAdminPassword
5、將查到的密碼貼上到輸入框,點選繼續
6、出現如下安裝外掛的介面,選擇安裝推薦的外掛,等待安裝完畢
7、建立第一個使用者,例項配置保持預設即可,這樣我們就可以開始使用 jenkins
了
8、出現如下介面,那麼 jenkins
就安裝成功了
四、github
生成 Personal Access Token
1、github –> 頭像 –> Settings –> Developer settings –> Personal access tokens –> Generate new token
2、勾選如下圖所示,最後點選 generate token 生成令牌即可。
3、注意!生成令牌之後一點要記錄下來,因為只顯示一次
五、github
設定 GitHub webhooks
(具體需要持續整合的專案),新建或者設定現有專案的 webhooks
選項,url
:部署的伺服器的 IP
+ 埠 + github-webhook
六、設定 jenkins
的 github
配置
1、jenkins
建立一個新任務,填寫你的任務名稱,並選擇構建自由風格專案(很奇怪為什麼第一條沒有漢化 -.-)
2、Manage Jenkins –> Configure System
3、找到 GitHub
選項 –> 新增 Github
伺服器 –> GitHub Server
4、勾選 “管理 Hook
”,新增 –> Jenkins
5、在彈出的視窗中,如下圖配置,這裡需要用到之前生成的令牌
6、選擇生成的憑證,測試 jenkins
連線 github
伺服器,如下圖所示則配置成功,記得在頁面底部儲存配置。
七、設定 jenkins
的專案配置
1、進入該專案的配置項
2、選擇 github
專案,並填入專案 URL
(複製你瀏覽器上的地址即可)
3、在 原始碼管理下選擇 git
,並輸入 Repository URL
(克隆下載你專案的地址)
4、出現上圖中的錯誤,是我們沒有安裝 git
的原因。
// 監測是否安裝了 git
$ rpm -qa | grep git
// 安裝 git
$ yum install git -y
5、重新重新整理 jenkins
頁面,重新填入 url
,可以看到錯誤已經消失。
接著我們選擇 Credentials
,若下拉選項中有,則直接選擇即可。
若沒有,點選新增 –> jenkins,新增一個 Username with passwrod
型別的許可權使用者,直接用 github
的登陸名稱和密碼建立。
新增完之後會出現下拉選項,最終配置如下圖所示。
6、構建觸發器 + 構建環境 + 繫結配置
點選新增並選擇 secret text
選項,在新出現的選項中選擇新增的許可權使用者
7、構建配置,新增執行 shell
。
既然可以執行 shell
命令,我們先來執行 pwd
,看下預設的工作目錄是在哪裡。
儲存後,我們點選立即構建,就會在 build history
下面看到本次構建的 ID
(藍色即構建成功,紅色即失敗)
點選構建 ID
右邊的小三角,選擇控制檯輸出。
可以看到 jenkins
的預設工作目錄在 /var/lib/jenkins/workspace/ceshi
。
8、編寫 shell
命令。
不同的前端所用的技術框架是不一樣的,所以這裡需要根據你自己的專案來進行配置。
這裡我以打包一個簡單的 h5
頁面為例,構建打包程式碼檔案並解壓到 nginx
的指定目錄,命令如下:
// 當前目錄
$ pwd
// 壓縮所有檔案
$ tar -zcvf ceshi.tar.gz *
// 將打包的壓縮檔案解壓到 nginx 對映目錄
$ tar -zxvf /var/lib/jenkins/workspace/ceshi/ceshi.tar.gz -C /usr/share/nginx/html
$ cd /var/lib/jenkins/workspace/ceshi
// 刪除專案打包後的殘留
$ rm -f *
八、測試配置結果
還記得我們之前配置 nginx
成功後的頁面嗎,就是下面這個,現在我們隨便寫一個頁面來替換掉他。
將改動的程式碼提交到 master
分支,可以看到 Jenkins
會自動構建並新增一條構建記錄,然後我們訪問你的伺服器 IP
,可以看到頁面已經改變
參考文獻:
部署Jenkins
一套真實前端開發環境搭建+可持續整合+自動化部署實踐(第一篇環境搭建配置)
一套真實前端開發環境搭建+可持續整合+自動化部署實踐(第二篇 jenkins關聯 GitHub自動打包部署)
jenkins 的引數化構建
GitLab+Jenkins實現持續整合+自動化部署
本作品採用《CC 協議》,轉載必須註明作者和本文連結