Jenkins自動部署前端項目

一、前言

1.1 傳統網站部署的流程

傳統的網站部署,大家在運維過程中,網站部署是運維的工作之一,網站部署的流程大致分爲:需求分析—原型設計—開發代碼—提交測試—內網部署—確認上線—備份數據—外網更新-最終測試,如果發現外網部署的代碼有異常,需要及時回滾。(如下圖所示)

1.2 目前主流網站部署的流程

目前主流網站部署方法,通過Jenkins工具平臺實現全自動部署+測試,是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins非常易於安裝和配置,簡單易用

簡單來說方便如下人員:

  • 開發人員:寫好代碼,不需要自己進行源碼編譯、打包等工作,直接將代碼分支存放在SVN、GIT倉庫即可。
  • 運維人員:減輕人工干預的錯誤率,同時解放運維人員繁雜的上傳代碼、手動備份、更新。
  • 測試人員:可以通過jenkins進行簡單的代碼及網站測試。

1.3 Jenkins持續集成簡介

  • 持續集成(Continuous Integration)是一種軟件開發實踐,對於提高軟件開發效率並保障軟件開發質量提供了理論基礎。Jenkins 是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使持續集成變成可能。本文正是從持續集成的基本概念入手,通過具體實例,介紹瞭如何基於 Jenkins 快速搭建持續集成環境
  • Jenkins是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins非常易於安裝和配置,簡單易用

1.4 持續集成意義

  • 持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減少重複過程以節省時間、費用和工作量
  • 持續集成保障了每個時間點上團隊成員提交的代碼是能成功集成的。換言之,任何時間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能
  • 持續集成還能利於軟件本身的發展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續集成的質量能幫助團隊進行有效決策,同時建立團隊對開發產品的信心

1.5 持續集成組件

  • 一個自動構建過程,包括自動編譯、分發、部署和測試;
  • 一個代碼存儲庫,即需要版本控制軟件來保障代碼的可維護性,同時作爲構建過程的素材庫,例如SVN、GIT代碼庫;
  • 一個jenkins持續集成服務器(123.57.11.203服務器就是一個配置簡單和使用方便的持續集成服務器)

二、環境搭建

2.1 Jenkins安裝部署

由於Jenkins屬於一個JAVA 代碼,需要java容器才能運行jenkins,所以需要安裝JDK+Tomcat

這裏我們以RPM方式部署jenkins

下載對應的RPM包 https://pkg.jenkins.io/redhat-stable/

rpm -ih jenkins-2.7.4-1.1.noarch.rpm

jenkins 常用命令

service jenkins start/stop/restart

chkconfig jenkins on

jenkins的目錄結構

/usr/lib/jenkins/jenkins.war     #WAR包 

/etc/sysconfig/jenkins          #配置文件

/var/lib/jenkins/               #默認的JENKINS_HOME目錄

/var/log/jenkins/jenkins.log      #Jenkins日誌文件

啓動jenkins

service jenkins start

修改jenkins端口

vim /etc/sysconfig/jenkins

JENKINS_PORT="8888"

防火牆開啓8888端口

[root@localhost modules]# vim /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT # here

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

再次啓動jenkins:

[root@localhost modules]# service jenkins start

打開地址 127.0.0.1:8888

出現此提示說明,啓動成功!因爲是第一次安裝,所以得輸入默認密碼,默認密碼在紅框標註的位置。

查看默認密碼將密碼粘貼到文本框中:

[root@localhost secrets]# cat /var/lib/jenkins/secrets/initialAdminPassword

97c675381d524414ba11e61c4f4b7ef0

安裝插件

2.2 基礎環境配置

2.2.1 插件安裝

安裝Publish Over SSH用於執行構建後的操作

安裝nodejs環境

2.2.2 配置信息

配置git命令

whereis git

配置node信息

配置git賬戶及ssh用戶信息





2.3 創建項目













2.4 git提交自動觸發構建

根據下面填寫地址,以bitbucket git倉庫配置爲例子





這樣提交git代碼觸發git hooks操作去請求 http://192.168.1.43:8991/job/test/build?token=cxk啓動jenkins任務,以達成自動部署任務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章