首次搭建 java+selenium+linux+docker+jenkins+git 之 web 自動化

wuyan發表於2020-08-11
前提: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->開始構建,正常構建成功

相關文章