服務器配置:
- 操作系統: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 /var/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
,進入以下界面即成功
注意:這里需要開放
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
,可以看到頁面已經改變