<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          學(xué)會(huì)使用Jenkins自動(dòng)部署你的項(xiàng)目(實(shí)戰(zhàn))

          共 3765字,需瀏覽 8分鐘

           ·

          2021-05-06 09:37

          一、前言

          1.1 傳統(tǒng)網(wǎng)站部署的流程

          傳統(tǒng)的網(wǎng)站部署,大家在運(yùn)維過(guò)程中,網(wǎng)站部署是運(yùn)維的工作之一,網(wǎng)站部署的流程大致分為:需求分析—原型設(shè)計(jì)—開(kāi)發(fā)代碼—提交測(cè)試—內(nèi)網(wǎng)部署—確認(rèn)上線—備份數(shù)據(jù)—外網(wǎng)更新-最終測(cè)試,如果發(fā)現(xiàn)外網(wǎng)部署的代碼有異常,需要及時(shí)回滾。(如下圖所示)

          1.2 目前主流網(wǎng)站部署的流程

          目前主流網(wǎng)站部署方法,通過(guò)Jenkins工具平臺(tái)實(shí)現(xiàn)全自動(dòng)部署+測(cè)試,是一個(gè)可擴(kuò)展的持續(xù)集成引擎,是一個(gè)開(kāi)源軟件項(xiàng)目,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。Jenkins非常易于安裝和配置,簡(jiǎn)單易用

          簡(jiǎn)單來(lái)說(shuō)方便如下人員:

          • 開(kāi)發(fā)人員:寫好代碼,不需要自己進(jìn)行源碼編譯、打包等工作,直接將代碼分支存放在SVN、GIT倉(cāng)庫(kù)即可。

          • 運(yùn)維人員:減輕人工干預(yù)的錯(cuò)誤率,同時(shí)解放運(yùn)維人員繁雜的上傳代碼、手動(dòng)備份、更新。

          • 測(cè)試人員:可以通過(guò)jenkins進(jìn)行簡(jiǎn)單的代碼及網(wǎng)站測(cè)試。

          1.3 Jenkins持續(xù)集成簡(jiǎn)介

          • 持續(xù)集成(Continuous Integration)是一種軟件開(kāi)發(fā)實(shí)踐,對(duì)于提高軟件開(kāi)發(fā)效率并保障軟件開(kāi)發(fā)質(zhì)量提供了理論基礎(chǔ)。Jenkins 是一個(gè)開(kāi)源軟件項(xiàng)目,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使持續(xù)集成變成可能。本文正是從持續(xù)集成的基本概念入手,通過(guò)具體實(shí)例,介紹了如何基于 Jenkins 快速搭建持續(xù)集成環(huán)境

          • Jenkins是一個(gè)可擴(kuò)展的持續(xù)集成引擎,是一個(gè)開(kāi)源軟件項(xiàng)目,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。Jenkins非常易于安裝和配置,簡(jiǎn)單易用

          1.4 持續(xù)集成意義

          • 持續(xù)集成中的任何一個(gè)環(huán)節(jié)都是自動(dòng)完成的,無(wú)需太多的人工干預(yù),有利于減少重復(fù)過(guò)程以節(jié)省時(shí)間、費(fèi)用和工作量

          • 持續(xù)集成保障了每個(gè)時(shí)間點(diǎn)上團(tuán)隊(duì)成員提交的代碼是能成功集成的。換言之,任何時(shí)間點(diǎn)都能第一時(shí)間發(fā)現(xiàn)軟件的集成問(wèn)題,使任意時(shí)間發(fā)布可部署的軟件成為了可能

          • 持續(xù)集成還能利于軟件本身的發(fā)展趨勢(shì),這點(diǎn)在需求不明確或是頻繁性變更的情景中尤其重要,持續(xù)集成的質(zhì)量能幫助團(tuán)隊(duì)進(jìn)行有效決策,同時(shí)建立團(tuán)隊(duì)對(duì)開(kāi)發(fā)產(chǎn)品的信心

          1.5 持續(xù)集成組件

          • 一個(gè)自動(dòng)構(gòu)建過(guò)程,包括自動(dòng)編譯、分發(fā)、部署和測(cè)試;

          • 一個(gè)代碼存儲(chǔ)庫(kù),即需要版本控制軟件來(lái)保障代碼的可維護(hù)性,同時(shí)作為構(gòu)建過(guò)程的素材庫(kù),例如SVN、GIT代碼庫(kù);

          • 一個(gè)jenkins持續(xù)集成服務(wù)器(123.57.11.203服務(wù)器就是一個(gè)配置簡(jiǎn)單和使用方便的持續(xù)集成服務(wù)器)

          二、環(huán)境搭建

          2.1 Jenkins安裝部署

          • 地址http://mirrors.jenkins-ci.org/下載適合的Jenkins版本

          由于Jenkins屬于一個(gè)JAVA 代碼,需要java容器才能運(yùn)行jenkins,所以需要安裝JDK+Tomcat

          這里我們以RPM方式部署jenkins

          下載對(duì)應(yīng)的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的目錄結(jié)構(gòu)

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

          /etc/sysconfig/jenkins          #配置文件

          /var/lib/jenkins/               #默認(rèn)的JENKINS_HOME目錄

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

          啟動(dòng)jenkins

          service jenkins start

          修改jenkins端口

          vim /etc/sysconfig/jenkins

          JENKINS_PORT="8888"

          防火墻開(kāi)啟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

          再次啟動(dòng)jenkins:

          [root@localhost modules]# service jenkins start

          打開(kāi)地址 127.0.0.1:8888

          出現(xiàn)此提示說(shuō)明,啟動(dòng)成功!因?yàn)槭堑谝淮伟惭b,所以得輸入默認(rèn)密碼,默認(rèn)密碼在紅框標(biāo)注的位置。

          查看默認(rèn)密碼將密碼粘貼到文本框中:

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

          97c675381d524414ba11e61c4f4b7ef0

          安裝插件





          2.2 基礎(chǔ)環(huán)境配置

          2.2.1 插件安裝

          安裝Publish Over SSH用于執(zhí)行構(gòu)建后的操作

          安裝nodejs環(huán)境

          2.2.2 配置信息

          配置git命令

          whereis git

          配置node信息

          配置git賬戶及ssh用戶信息

          2.3 創(chuàng)建項(xiàng)目

          2.4 git提交自動(dòng)觸發(fā)構(gòu)建

          根據(jù)下面填寫地址,以bitbucket git倉(cāng)庫(kù)配置為例子


          這樣提交git代碼觸發(fā)git hooks操作去請(qǐng)求 http://192.168.1.43:8991/job/test/build?token=cxk啟動(dòng)jenkins任務(wù),以達(dá)成自動(dòng)部署任務(wù)

          如果覺(jué)得這篇文章還不錯(cuò)
          點(diǎn)擊下面卡片關(guān)注我
          來(lái)個(gè)【分享、點(diǎn)贊、在看】三連支持一下吧

             “分享、點(diǎn)贊在看” 支持一波  

          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  淫色无限一区二区 | 国产女人在线播放 | 97爽无码人妻aⅴ精品牛牛 | 五月99久久婷婷国产综合亚洲 | 亚洲黄色成人视频网站 |