最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

幫你快速上手Jenkins并實現(xiàn)自動化部署

 更新時間:2021年06月01日 17:24:30   作者:心的步伐  
在未學習Jenkins之前,只是對Jenkins有一個比較模糊的理解,即Jenkins是一個自動化構(gòu)建項目發(fā)布的工具,可以實現(xiàn)代碼->github或者gitlab庫->jenkins自動部署->訪問的整體的過程,而無需人為重新打包,今天就帶大家詳細了解一下,幫你快速上手Jenkins,需要的朋友可以參考下

一、下載與安裝

Jenkins的下載可以直接在官網(wǎng)下載,方式還是比較簡單的,官網(wǎng)提供了具體的下載和安裝的步驟。

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

# 安裝
yum install jenkins -y

# 啟動
systemctl daemon-reoload
systemctl start jenkins
# 查看狀態(tài),如果沒有問題的話,狀態(tài)應該是running
systemctl status jenkins

這里注意,如果是沒有安裝java環(huán)境的,可以按照官網(wǎng)指示的https://www.jenkins.io/doc/book/installing/linux/ 一起把jdk給裝一下。

問題點

啟動的時候可能會報錯,這個錯誤會來自于java的環(huán)境配置的不是很正確

jenkins啟動報錯

解決辦法

# 修改jenkins的配置文件中的java的路徑
vim /etc/init.d/jenkins 

修改jenkins的java配置

二、Jenkins的使用

之后可以按照文檔,直接訪問ip:8080可以看到具體的jenkins的頁面,會要求輸入密碼操作,這個密碼給出了具體的路徑,所以不需要擔心,直接cat 路徑即可獲取密碼操作。進入到安裝插件的頁面,直接點擊推薦的安裝插件即可進入到插件。

jenkins插件安裝

新建item,配置item,配置與github之間的聯(lián)系(這里主要是公鑰和私鑰配置),解決為什么連接不上github,遇到clone失敗的話,是因為本地還沒有將git遠程添加為可信任的用戶,所以需要自己手動的執(zhí)行git clone然后添加信任憑證即可。

2.1 配置流程

需要配置具體的地址,這個地址必須是網(wǎng)上github可以訪問到的地址,github無法訪問虛擬機的地址,除非是利用阿里云或者騰訊云服務(wù)器。我是用的騰訊云服務(wù)器,此時需要設(shè)置github上的webhook的網(wǎng)址,主要的目的是倉庫一旦被push此時jenkins就會重新構(gòu)建整個服務(wù)器。

2.1.1 如何讓jenkins與github通信

這個問題是必須要考慮的,因為自動構(gòu)建整個的過程需要本地的代碼與github庫構(gòu)建起來,然后jenkins通過webhook的方式接收到github那邊的push信號,然后從github中拉取代碼進行本地的一個構(gòu)建任務(wù)。

對于本地的代碼與github之間的通信我們需要生成公鑰和私鑰然后配置好即可,對于jenkins來說也是一樣,要想從github拉代碼就需要建立公鑰和私鑰的方式來建立通信。

第一步我們需要生成公鑰和私鑰:

ssh-keygen -t rsa -C "xxx@xxx.com"
生成公鑰和私鑰
cat ~/.ssh/id_rsa.pub    # 寫入到github的settings => SSH and GPG keys
cat ~/.ssh/id_rsa        # 寫入到j(luò)enkins的配置中

設(shè)置公鑰

2.1.2 配置Jenkins

注意在配置之前你需要先新建你任務(wù),可以任意選擇自由風格的,名字的話隨你安排

項目配置

先對General部分進行配置,即我們的github項目的URL,這個就把自己想要自動構(gòu)建的項目房子放在這里就好了。

源碼管理配置

點擊對上面紅色字體部分的添加此時可以看到。

添加憑證

構(gòu)建觸發(fā)器

構(gòu)建觸發(fā)器

上面的添加框中的內(nèi)容

img

Secret Token生成

token的生成

構(gòu)建

這個是代碼拉過來之后的行為了,就是你需要自己寫腳本把自己的項目運行起來。

構(gòu)建

2.1.3 一段Django啟動的腳本

#!/bin/bash
VENV_DIR=/usr/local/src/jenkins
JENKINS_PROJECT_DIR=/var/lib/jenkins/workspace/jenkinsdemo
# 構(gòu)建環(huán)境中的腳本命令
echo "Congratulations! Build Success!"
# 先判斷一下進程是否在,在的話就不用管了,不在的話需要執(zhí)行激活操作
PROCESS_EXIST=`netstat -anp | grep 8899 | grep -v "grep" | awk '{print $7///}'`
# 如果長度為0的話此時需要激活環(huán)境,否則直接跳過
if [ -z $PROCESS_EXIST ]
then
	# 進入到venv環(huán)境中需要激活環(huán)境
	source $VENV_DIR/bin/activate
	# 進入到具體的代碼的workspace空間中
	cd $JENKINS_PROJECT_DIR
	# 啟動當前項目
	python manage.py runserver 0.0.0.0:8899 &
	echo -ne "\n"
	sleep 3
	# 將環(huán)境注銷
	# deactivate
	# 提示啟動成功
	echo "the project run success"
fi
echo "The project reload success"

2.1.4 webhook的配置

如果沒有配置webhook,jenkins是不能夠?qū)崿F(xiàn)自動構(gòu)建的,那就需要自己手動點擊構(gòu)建了,就沒有啥意思了。所以在這里我們還需要配置一個webhook。

系統(tǒng)設(shè)置

2.1.5 jenkins添加webhook

添加webhook

點擊高級之后,會出現(xiàn)如下界面

配置webhook

設(shè)置具體的hook地址

設(shè)置hook地址

github配置webhook

github配置

三、運行

運行的話,本地修改代碼,此時你會發(fā)現(xiàn)Jenkins實現(xiàn)了自動構(gòu)建,如果你寫了腳本,你會發(fā)現(xiàn)你的程序也已經(jīng)運行了起來,此時你只需要對你的代碼進行小幅度的改動,將代碼推送到github上去,此時就可以通過jenkins自動部署,將改動的代碼更新到你的代碼庫實現(xiàn)自動構(gòu)建部署,然后重新請求就會發(fā)現(xiàn)內(nèi)容已經(jīng)更新了。

四、小結(jié)

你所以為的不會再見到的東西,通常都會在未來某個時間節(jié)點再遇見,并且你不得不解決它。 ----- 我 & Jenkins

Jenkins之前也有接觸過,第一次實習的時候,同事們就是用的Jenkins來實現(xiàn)代碼的發(fā)版,但是那個時候還是2019年的事情了,自己因為沒有機會參加真實的線上發(fā)布,就用不上,雖然有想過去學習這個,但是一直都擱置了。后面到了第二次實習,在滴滴的時候,滴滴那邊基礎(chǔ)架構(gòu)把它包了一層,當時都沒意識到是Jenkins,哈哈,雖然自己也用了很多次,但是包的還是不錯的,用起來很舒服。后面到了騰訊實習的話,就沒參加過正式的發(fā)版,所以就沒接觸(內(nèi)部應該也做了包裝)。

現(xiàn)在工作了發(fā)現(xiàn)自己也需要去使用Jenkins了,逃不過的話就學會使用了!花了半天時間熟悉了一下,用了一個簡單的例子跑了一下,實現(xiàn)了具體的操作,代碼的話還是非常簡單的,就是一個小的Django程序,跳轉(zhuǎn)一個HTML頁面。

總體來說,Jenkins還是很強大的,感覺需要好好學學shell腳本,這個還是有很大作用,項目中很多的腳本,但是自己好多都看不懂,菜的流眼淚。

繼續(xù)加油吧!

到此這篇關(guān)于幫你快速上手Jenkins并實現(xiàn)自動化部署的文章就介紹到這了,更多相關(guān)Jenkins自動化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的pip命令安裝與使用輕松入門教程

    Python中的pip命令安裝與使用輕松入門教程

    pip是Python的包管理工具,用于安裝、卸載和管理第三方庫,本文詳細介紹了pip的安裝和使用方法,包括檢查pip是否已安裝、手動安裝或升級pip以及pip的基本使用,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • Python中反轉(zhuǎn)二維數(shù)組的行和列問題

    Python中反轉(zhuǎn)二維數(shù)組的行和列問題

    這篇文章主要介紹了Python中反轉(zhuǎn)二維數(shù)組的行和列問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python網(wǎng)絡(luò)編程之xmlrpc模塊

    Python網(wǎng)絡(luò)編程之xmlrpc模塊

    這篇文章介紹了Python網(wǎng)絡(luò)編程之xmlrpc模塊,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Django跨域請求問題的解決方法示例

    Django跨域請求問題的解決方法示例

    這篇文章主要給大家介紹了關(guān)于Django跨域請求問題解決的相關(guān)資料,文中介紹的實現(xiàn)方法包括:使用django-cors-headers全局控制、使用JsonP,只能用于Get方法以及在views.py里設(shè)置響應頭,只能控制單個接口,需要的朋友可以參考下
    2018-06-06
  • 解決PyCharm無法使用lxml庫的問題(圖解)

    解決PyCharm無法使用lxml庫的問題(圖解)

    這篇文章主要介紹了解決PyCharm無法使用lxml庫的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用python實現(xiàn)抓取中國銀行外匯牌價首頁數(shù)據(jù)實現(xiàn)

    使用python實現(xiàn)抓取中國銀行外匯牌價首頁數(shù)據(jù)實現(xiàn)

    這篇文章主要為大家介紹了如何使用python實現(xiàn)抓取中國銀行外匯牌價首頁數(shù)據(jù)的實現(xiàn)示例,有需要的同學可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • 對Keras自帶Loss Function的深入研究

    對Keras自帶Loss Function的深入研究

    這篇文章主要介紹了對Keras自帶Loss Function的深入研究,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python變量的存儲原理詳解

    python變量的存儲原理詳解

    這篇文章主要介紹了python變量的存儲原理詳解,對于python而言,python的一切變量都是對象,變量的存儲,采用了引用語義的方式,存儲的只是一個變量的值所在的內(nèi)存地址,而不是這個變量的只本身,需要的朋友可以參考下
    2019-07-07
  • 使用PyCharm批量爬取小說的完整代碼

    使用PyCharm批量爬取小說的完整代碼

    這篇文章主要介紹了使用PyCharm批量爬取小說,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Python中高階函數(shù)的小實踐分享

    Python中高階函數(shù)的小實踐分享

    這篇文章主要為大家介紹了一些Python中高階函數(shù)的小實踐,文中的示例代碼講解詳細,對我們深入學習Python有一定的幫助,需要的可以參考下
    2023-05-05

最新評論

柘城县| 遵义市| 常山县| 屯留县| 威海市| 华容县| 桂东县| 眉山市| 陇南市| 临沧市| 紫阳县| 仲巴县| 惠来县| 贺州市| 商南县| 韶山市| 铁岭县| 商都县| 三亚市| 乐平市| 靖安县| 金阳县| 钦州市| 库车县| 京山县| 彭山县| 连城县| 桃源县| 景东| 凌源市| 荆门市| 农安县| 松桃| 达拉特旗| 富平县| 互助| 五峰| 府谷县| 石家庄市| 镇安县| 兰西县|