前端er,Jenkins持續化整合環境搭建

無聊小碼農發表於2019-03-26

作為一個有追求的前端er,也為了解放雙手,加快自動化的步伐,推動專案的持續整合。當然需要知道怎麼搭建持續化整合環境了。

系統環境準備

模擬真實的伺服器操作方式,使用虛擬機器的方式來部署我們的 Jenkins 環境

操作環境

  • 電腦:MacBook Pro
  • 系統:macOS Mojave 10.14.1

虛擬機器環境

  • 系統:CentOS Linux release 7.4.1708 (Core)
  • JDK:1.8.0
  • Jenkins:2.164.1

用到的軟體軟體

以下軟體為我使用的軟體,可以使用相同功能的代替

  • Parallels Desktop:模擬器軟體
  • iTerm2:命令列工具
  • zsh:shell工具
  • Oh My ZSH:zsh擴充套件

系統基礎環境搭建

安裝zsh

sudo yum install -y zsh
複製程式碼

安裝git

sudo yum install -y git
複製程式碼

安裝oh-my-zsh

oh-my-zsh 對 git 和 zsh 存在依賴需要確保安裝的時候這兩個已經安裝。

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# 或者
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
複製程式碼

安裝Oh-my-zsh

安裝Java環境

Jenkins 對 Java 環境為強依賴,必須保證安裝 Jenkins 前,安裝了 Java 環境。

查詢JDK資訊:

yum search java-1.8
複製程式碼

搜尋JDK1.8

安裝JDK:

sudo yum install -y java-1.8.0-openjdk-devel.x86_64
複製程式碼

設定環境變數:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

sudo vim /etc/profile
複製程式碼

設定JDK環境變數

重新載入配置檔案,立即生效

source /etc/profile
複製程式碼

測試是否設定成功:

javac
複製程式碼

檢查JDK安裝是否成功

安裝wget

sudo yum install -y wget
複製程式碼

安裝Jenkins

匯入資源源

# 新增源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 匯入祕鑰
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
複製程式碼

安裝

Jenkins 的不同版本所依賴的 JDK 版本也不同,安裝前需要先查詢清楚,再進行安裝。

sudo yum install -y jenkins
複製程式碼

安裝Jenkins

執行

開啟防火牆埠

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
複製程式碼

執行Jenkins

sudo service jenkins start
複製程式碼

Jenkins配置

瀏覽器開啟:http://${ip}:8080

檢視密碼:(密碼要自己儲存到本地)

sudo cat /var/lib/jenkins/secrets/initialAdminPassword
複製程式碼

根據自己的需求選擇外掛安裝的方式,這裡我選擇推薦安裝。

選擇外掛

安裝Jenkins

建立管理員使用者

安裝Jenkins

配置例項,不做更改,使用推薦的地址。

安裝Jenkins

問題

白屏解決:修改Jenkins配置檔案。

配置檔案地址:/var/lib/jenkins

<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
</securityRealm>
複製程式碼

修改為:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.SecurityRealm$None">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
</securityRealm>
複製程式碼

2019年03月29日修改

後續流程已新增:前端er,Jenkins持續化整合Webpack專案

相關文章