欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、下載與安裝

Jenkins的下載可以直接在官網(wǎng)下載,方式還是比較簡(jiǎn)單的,官網(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

# 啟動(dòng)
systemctl daemon-reoload
systemctl start jenkins
# 查看狀態(tài),如果沒(méi)有問(wèn)題的話,狀態(tài)應(yīng)該是running
systemctl status jenkins

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

問(wèn)題點(diǎn)

啟動(dòng)的時(shí)候可能會(huì)報(bào)錯(cuò),這個(gè)錯(cuò)誤會(huì)來(lái)自于java的環(huán)境配置的不是很正確

jenkins啟動(dòng)報(bào)錯(cuò)

解決辦法

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

修改jenkins的java配置

二、Jenkins的使用

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

jenkins插件安裝

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

2.1 配置流程

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

2.1.1 如何讓jenkins與github通信

這個(gè)問(wèn)題是必須要考慮的,因?yàn)樽詣?dòng)構(gòu)建整個(gè)的過(guò)程需要本地的代碼與github庫(kù)構(gòu)建起來(lái),然后jenkins通過(guò)webhook的方式接收到github那邊的push信號(hào),然后從github中拉取代碼進(jìn)行本地的一個(gè)構(gòu)建任務(wù)。

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

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

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ù),可以任意選擇自由風(fēng)格的,名字的話隨你安排

項(xiàng)目配置

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

源碼管理配置

點(diǎn)擊對(duì)上面紅色字體部分的添加此時(shí)可以看到。

添加憑證

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

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

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

img

Secret Token生成

token的生成

構(gòu)建

這個(gè)是代碼拉過(guò)來(lái)之后的行為了,就是你需要自己寫腳本把自己的項(xiàng)目運(yùn)行起來(lái)。

構(gòu)建

2.1.3 一段Django啟動(dòng)的腳本

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

2.1.4 webhook的配置

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

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

2.1.5 jenkins添加webhook

添加webhook

點(diǎn)擊高級(jí)之后,會(huì)出現(xiàn)如下界面

配置webhook

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

設(shè)置hook地址

github配置webhook

github配置

三、運(yùn)行

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

四、小結(jié)

你所以為的不會(huì)再見到的東西,通常都會(huì)在未來(lái)某個(gè)時(shí)間節(jié)點(diǎn)再遇見,并且你不得不解決它。 ----- 我 & Jenkins

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

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

總體來(lái)說(shuō),Jenkins還是很強(qiáng)大的,感覺(jué)需要好好學(xué)學(xué)shell腳本,這個(gè)還是有很大作用,項(xiàng)目中很多的腳本,但是自己好多都看不懂,菜的流眼淚。

繼續(xù)加油吧!

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

相關(guān)文章

  • Redis使用watch完成秒殺搶購(gòu)功能的代碼

    Redis使用watch完成秒殺搶購(gòu)功能的代碼

    這篇文章主要介紹了Redis使用watch完成秒殺搶購(gòu)功能的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • keras 使用Lambda 快速新建層 添加多個(gè)參數(shù)操作

    keras 使用Lambda 快速新建層 添加多個(gè)參數(shù)操作

    這篇文章主要介紹了keras 使用Lambda 快速新建層 添加多個(gè)參數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 完美解決keras 讀取多個(gè)hdf5文件進(jìn)行訓(xùn)練的問(wèn)題

    完美解決keras 讀取多個(gè)hdf5文件進(jìn)行訓(xùn)練的問(wèn)題

    這篇文章主要介紹了完美解決keras 讀取多個(gè)hdf5文件進(jìn)行訓(xùn)練的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 詳解Django中類視圖使用裝飾器的方式

    詳解Django中類視圖使用裝飾器的方式

    這篇文章主要介紹了詳解Django中類視圖使用裝飾器的方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Python 變量教程私有變量詳解

    Python 變量教程私有變量詳解

    這篇文章主要介紹了Python 變量教程私有變量詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    這篇文章主要介紹了python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式,Reqeusts支持以form表單形式發(fā)送post請(qǐng)求,只需要將請(qǐng)求的參數(shù)構(gòu)造成一個(gè)字典,然后傳給requests.post()的data參數(shù)即可,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-08-08
  • python獲取點(diǎn)擊的坐標(biāo)畫圖形的方法

    python獲取點(diǎn)擊的坐標(biāo)畫圖形的方法

    今天小編就為大家分享一篇python獲取點(diǎn)擊的坐標(biāo)畫圖形的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Pandas篩選某列過(guò)濾的方法

    Pandas篩選某列過(guò)濾的方法

    本文主要介紹了Pandas篩選某列過(guò)濾的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 使用matplotlib的pyplot模塊繪圖的實(shí)現(xiàn)示例

    使用matplotlib的pyplot模塊繪圖的實(shí)現(xiàn)示例

    這篇文章主要介紹了使用matplotlib的pyplot模塊繪圖的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 10個(gè)示例帶你掌握python中的元組

    10個(gè)示例帶你掌握python中的元組

    這篇文章主要介紹了python中的元組的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論