前提:linux伺服器安裝對應的java環境、maven環境、docker、git
一、linux安裝chrome、chromedriver
a:chrome下載安裝
①進入目錄/ect/yum.repos.d 命令:cd /ect/yum.repos.d
②編輯google-chrome.repo檔案,命令:vim google-chrome.repo,新增以下內容:
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
編輯並儲存
③使用yum下載安裝chrome,命令:yum -y install google-chrome-stable --nogpgcheck
④檢查安裝結果,命令:google-chrome --version,出現:Google Chrome 84.0.4147.105
⑤修改chrome啟動檔案,用來支援root啟動瀏覽器,進入chrome所在資料夾,命令:cd /opt/google/chrome
⑥編輯google-chrome執行檔案,命令:vim google-chrome
⑦修改最後一行,將exec -a "$0" "$HERE/chrome" "$@"替換為exec -a "$0" "$HERE/chrome" "$@" --no-sandbox $HOME
b:chromedriver下載
①進入linux的home目錄,cd ~
②建立資料夾chrome_driver用來存放chromedriver,命令mkdir chrome_driver
③進入到chrome_driver資料夾,cd /root/chrome_driver(此處用的是root使用者,所以路徑為/root/chrome_driver)
④下載chromedriver(與chrome瀏覽器版本對應,由於瀏覽器版本為Google Chrome 84.0.4147.105,所以chromedrive下載84.0.4147.30版本),網址 https://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/ ,找到對應的linux版本:chromedriver_linux64.zip
⑤執行命令:wget https://npm.taobao.org/mirrors/chromedriver/84.0.4147.30/chromedriver_linux64.zip
⑥解壓縮zip包:unzip chromedriver_linux64.zip,得到chromedriver可執行檔案
二、docker加速配置
①進入docker配置目錄,命令:/usr/lib/systemd/system
②修改配置檔案,命令:vim docker.service
③修改對應行:ExecStart=/usr/bin/dockerd --registry-mirror=https:xxxx.mirror.aliyuncs.com(加速地址可去阿里雲申請)
④重新載入配置,命令:systemctl daemon-reload
⑤重啟docker服務,命令:service docker restart
三、docker部署jenkins
①docker拉取jenkins映象,命令:docker pull jenkins/jenkins:2.190.3
②docker檢視映象,命令:docker images|grep jenkins
③建立jenkins本地掛載目錄,首先進入home目錄,命令:cd ~
④建立掛載目錄,命令:mkdir jenkins_home
⑤修改資料夾許可權,因為當對映本地資料卷時,/root/jenkins_home目錄的擁有者為root使用者,而容器中jenkins user的uid為1000,執行命令:sudo chown -R 1000 /root/jenkins_home
⑥建立jenkins執行檔案,命令:vim jenkins.sh
⑦新增一下內容:(注:linux伺服器需開通8080埠)
docker rm -f myjenkins
docker run --name myjenkins -p 8080:8080 -v /root/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --env JAVA_OPTS="-Xmx8192m" -d jenkins/jenkins:2.190.3
⑧給 jenkins.sh檔案新增執行許可權,命令chmod +x jenkins.sh
⑨啟動jenkins,命令:sh jenkins.sh
四、git配置
①確保伺服器安裝好git:git --version
②基礎配置:其中your_account為GitHub對應的使用者名稱,youremali@example.com為GitHub對應的郵箱
a新增對應的git_hub使用者名稱,命令:git config --global user.name "your_account"
b新增對應的git_hub郵箱,命令:git config --global user.email "youremali@example.com"
③ssh-key證書認證,youremali@example.com為GitHub對應的郵箱
命令:ssh-keygen -t rsa -C "youremali@example.com"
一路回車,不設定密碼
④進入伺服器目錄,獲取對應的公鑰資訊
a進入目錄命令:cd ~/.ssh
b獲取公鑰資訊命令:cat id_rsa.pub
c複製上一步的公鑰資訊
d登入GitHub官網,點選頭像->settings->SSH and GRG keys->SSG keys->點選New SSH key:填寫自定義title,將複製的公鑰資訊貼上到Key文字框裡
e嘗試與GitHub握手,在伺服器中輸入命令:ssh git@github.com
f出現success字樣表示伺服器與GitHub連線成功
五、jenkins配置
①節點配置:系統管理->節點管理->新建節點
②名稱自定義,ps:slave_mylinux;
遠端工作目錄,上面建立的jekins目錄:/root/jenkins_home;
啟動方式:Launch agents via SSH
主機:進入伺服器,輸入命令:ip addr,在結果中找到eth0對應的inet ip,將ip填入主機
Credentials:新增登入linux伺服器的使用者名稱密碼
Host Key Verification Strategy:選擇Non verification Strategy
儲存以上資訊,此時slave節點可能連結補上
③登入linux伺服器,進入docker部署的myjenkins容器,命令:docker exec -it myjenkins /bin/bash
④手動連線伺服器,命令(其中使用者名稱和主機為②中設定的對應值):ssh 使用者名稱@主機host,然後輸入對應的密碼
⑤確保聯通正常,cd ~/.ssh,檢視已經生成known_hosts檔案,退出myjenkins容器;
⑥進入jenkins節點管理,重新整理頁面,新建的slave節點正常連線;
六、jienkins專案配置
①新建任務,名稱自定義
②丟棄舊的構造->保持構建的最大個數:3(自定義)
③引數化構建過程->新增選項引數:名稱自定義,選項:nogui
chrome
④限制專案的執行節點,選擇四中建立的slave節點:slave_mylinux
⑤原始碼管理->Git,填寫Repository URL:https://github.com/AndyTianJie/iselenium.git
⑥Additional Behaviours->新增->檢出到子目錄:iSelenium(自定義)
⑦構建->增加構建步驟->執行shell:
#!/bin/bash -il
cd iSelenium(上一步檢出的目錄)
mvn clean install test
應用->儲存以上資訊
⑧登入linux伺服器,進入目錄user.home,命令:cd ~
⑨建立檔案iselenium.properties,命令:vim iselenium.properties,貼上內容(路徑為步驟一中的chromedriver路徑):CHROME_PATH=/root/chrome_driver/chromedriver
⑩進入job->Build with Parameters->currentBrowser選擇nogui->開始構建,正常構建成功