欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

讓自動化工作流解放你的雙手-創(chuàng)新互聯(lián)

本篇主要講解一下如何去配置 jenkins,如何使用 Fabric(python 腳本)去部署項目,怎么設(shè)置 gitlab 的鉤子,實現(xiàn)我們提交代碼及自動打包部署,實現(xiàn)真正的自動化部署??礆w看,記得一定要實踐一下才知道哪里有坑。

成都服務(wù)器托管,創(chuàng)新互聯(lián)公司提供包括服務(wù)器租用、川西大數(shù)據(jù)中心、帶寬租用、云主機、機柜租用、主機租用托管、CDN網(wǎng)站加速、國際域名空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108

如果你在嘗試的過程中遇到什么問題,歡迎留言和我一起探討。

準備項目

這里就不做過多介紹了,隨便一個 vue 或者 react 的項目,或者 node 的項目都可以。

前提是一定要上傳到 git 上哦,我們后續(xù)會使用項目 git 的鉤子函數(shù)去調(diào)用 jenkins 進行自動構(gòu)建。我這邊用的是公司的一個 vue 項目。

安裝 jenkins

如果是公司已經(jīng)有自己的 jenkins,那可以跨過這一步,直接看后面的。

Linux 基礎(chǔ)環(huán)境

要求必須有 java 運行環(huán)境,建議安裝 Oracle 官方的,給大家個傳送門

安裝(CentOS 環(huán)境下)

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
#?或?https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo?yum?install?jenkins
復制代碼
  • 添加 Jenkins 官方倉庫

  • 導入公鑰

  • 安裝

上面執(zhí)行完成之后,檢查/usr/lib/jenkins/jenkins.war 是否存在,如果在下載過程中很慢的話,建議改成 http 協(xié)議。

服務(wù)管理(Linux)

在 linux 上可以通過以下命令去管理 jenkins 的服務(wù):

systemctl?start?jenkins
systemctl?stop?jenkins
systemctl?status?jenkins
復制代碼

配置

jenkins 的配置文件在這個目錄下:/etc/sysconfig/jenkins,我們可以通過這個配置文件修改 jenkins 的端口號,因為 jenkins 默認端口號都是 8080,很容易被占用,所以還是換一下的好。

#?修改默認端口
JENKINS_PORT="8001"
JENKINS_AJP_PORT="8009"?#?選填
復制代碼

第一次訪問

通過 systemctl start jenkins,將服務(wù)跑起來之后,我們就可以進行訪問了,在瀏覽器中通過 http://服務(wù)器ip:端口號 即可進行訪問。

讓自動化工作流解放你的雙手

  • 管你要密碼怎么辦?

可以在 /var/lib/jenkins/secrets/initialAdminPassword 中找到賬號密碼。

登錄之后,我們能看到主頁面就代表 jenkins 安裝成功了。

讓自動化工作流解放你的雙手

安裝其他需要的軟件

我們后續(xù)會在 jenkins 的服務(wù)器上進行腳本的執(zhí)行和項目的打包,最好在 jenkins 上把 node 相關(guān)的軟件安裝好。

安裝 node 就不多講了,大家可以看一下我之前寫的node 中 3m 管理法,可以幫你有效的管理 node,以及切換 npm 源。

我們后續(xù)不使用 shell 腳本,使用 Fabric 腳本部署,希望大家在 jenkins 上也裝一下 Fabric 環(huán)境吧,放心,不是很麻煩,很快就可以裝好,不是給大家加活,主要是 Fabric 是真好用,后續(xù)給大家展示一下或者大家自己操作一下就知道了。

服務(wù)器上有很多會默認帶 python 環(huán)境,我們需要先查看一下 python 的版本,F(xiàn)abric 需要運行在 python2.5-2.7 的版本之下。

python?--version
復制代碼

只要版本大于 2.5 即可,如果沒有 python 或者版本小于 2.5,可以根據(jù)安裝教程安裝一下。

之后就是安裝 Fabric:

pip?install?fabric
復制代碼

好了,把環(huán)境安裝完成了,我們要開始搞事了。

創(chuàng)建 jenkins 工程

點擊 new 任務(wù),即可開始創(chuàng)建任務(wù):

讓自動化工作流解放你的雙手

填寫自己的工程的名稱,選擇自己需要創(chuàng)建項目的類型,我們就選擇自由風格即可。

讓自動化工作流解放你的雙手

這個時候就創(chuàng)建好任務(wù)了,我們需要對任務(wù)進行一定的配置。

配置 gitlab 的上傳即構(gòu)建功能

配置 jenkins 工程

從 jenkins 右側(cè)找到自己的工程,進入工程后點擊左側(cè)的 configure。

讓自動化工作流解放你的雙手

配置 git 倉庫地址

在 jenkins 的工程里,我們可以配置具體項目的 git 地址,后續(xù)提交項目之后,jenkins 工程就會從這個 git 目錄去拉代碼,記得填寫一個有權(quán)限的賬戶哦。

讓自動化工作流解放你的雙手

添加觸發(fā)器

配置完成 git 遠程倉庫地址之后,我們需要找到構(gòu)建環(huán)境,勾選下圖中紅框選中的地方,這個是 webhook 在 jenkins 里邊的配置。

讓自動化工作流解放你的雙手

記得保存紅框中 URL 后邊的地址,后續(xù)會填寫到 gitlab 里邊。

配置 git 倉庫鉤子

本篇主要以 gitlab 為例,在 gitlab 的對應項目中,找到 webhook 的配置(settings -> integrations)

讓自動化工作流解放你的雙手

URL:就是上一步在 jenkins 中勾選 gitlab 鉤子時賦值的 URL,有時候可能會存在問題,比如你修改了 jenkins 的端口號,但是那個 URL 還是顯示 8080,這個時候需要將端口號修改成你更改后的。

Token:jenkins 對應的工程中勾選 gitlab 鉤子選項之后,會有一個高級設(shè)置,如下:

讓自動化工作流解放你的雙手

讓自動化工作流解放你的雙手

讓自動化工作流解放你的雙手

將生成的 token 粘貼放到 gitlab 對應的 Token 中。

**注意:**這個時候需要在高級設(shè)置中勾選另外一個選項,就是具體根據(jù)哪個分支提交代碼后構(gòu)建,如果不勾選這個會導致 gitlab 中測試 push events 的時候報 401 的錯誤,如果你在測試 webhook 時出現(xiàn) 401 的問題,可以回來修改一下這里:

讓自動化工作流解放你的雙手

填完 gitlab 的 URL 和 Token 之后點擊創(chuàng)建:

Trigger 中我們勾選 push events 即可,如果有其他的需求可以自行勾選。

測試 gitlab 鉤子

在上一步中,我們已經(jīng)將 gitlab 鉤子需要的 URL 和 Token 都填寫完成,并且已經(jīng)創(chuàng)建了 webhook,在上一個頁面配置 webhook 下面可以看到你自己的配置成功的 webhook:

讓自動化工作流解放你的雙手

我們可以點擊 test -> Push Events 進行 webhook 的測試,如果頁面頂部提示以下彈窗,說明配置成功。

讓自動化工作流解放你的雙手

這個時候我們在看 jenkins 里面,會提示工程正在構(gòu)建。

讓自動化工作流解放你的雙手

實現(xiàn)自動化構(gòu)建及部署

目前公司業(yè)務(wù)場景是這樣的:jenkins 是一臺服務(wù)器,需要部署項目是一臺服務(wù)器,并且需要部署項目的業(yè)務(wù)服務(wù)器有堡壘機進行保護,我無法使用 jenkins 的 ssh 功能對業(yè)務(wù)服務(wù)器進行直接登錄。

所以我本篇主要講如何使用 Fabric 進行遠程部署,這里也就將自動化構(gòu)建和自動化部署合并起來了,其實自動化構(gòu)建是一塊內(nèi)容,自動化部署是一塊內(nèi)容。如果大家的業(yè)務(wù)場景和我一樣,可以使用這種方法,多一門手藝多一條出路唄,多學點東西肯定有好處。

正常的自動化工作流是這樣的:

  1. 在項目開發(fā)完成之后,使用 git push 將項目推送到遠程倉庫。

  2. 如果上一步配置 git 鉤子功能沒問題,那么 git 就會觸發(fā) jenkins,然后 jenkins 開始工作。

  3. 我們可以在 jenkins 上進行單元測試,安裝升級依賴包,打包,上傳業(yè)務(wù)服務(wù)器,無論你是執(zhí)行 npm scripts,還是執(zhí)行腳本,都能在 jenkins 上進行構(gòu)建。

這一塊內(nèi)容主要講如何寫構(gòu)建和部署的腳本,如果你時間不充裕,沒時間學 Fabric,使用 npm scripts 進行構(gòu)建,那你可以參考一下掘金網(wǎng)友寫的實戰(zhàn)筆記:Jenkins 打造強大的前端自動化工作流。

其實我還是覺得大家應該看一下 Fabric,點擊名字了解一下吧,真的很強大,直接將構(gòu)建部署合并。

要想使用 Fabric,需要在你的實際項目根目錄下創(chuàng)建一個 fabfile.py 文件,存放腳本,后續(xù)在 jenkins 中可以直接執(zhí)行這個文件。廢話不說,我先給大家放一段我寫的腳本。

import?json
from?fabric.api?import?*
#?定義一些變量
APP_NAME?=?'cartoon_cms_fe'
REMOTE_PATH?=?'/data/front/source'
#?業(yè)務(wù)服務(wù)器?ip,登錄的用戶名
env.hosts?=?['127.0.0.1']
env.user?=?'root'
#?構(gòu)建函數(shù)
@runs_once
def?package():
#?執(zhí)行安裝依賴的過程
?run('npm?install')
?#?執(zhí)行打包過程
?run('npm?run?build:prod')
?#?將打包的dist文件夾進行壓縮
?local('tar?zcf?{0}.tgz?dist?--exclude=".svn"?--exclude=".idea"?--remove-files'.format(APP_NAME),?capture=False)
#?部署
def?deploy():
#?將壓縮包上傳到業(yè)務(wù)服務(wù)器
?put('{0}.tgz'.format(APP_NAME),?'{1}/{0}.tgz'.format(APP_NAME,?REMOTE_PATH))
#?進入業(yè)務(wù)服務(wù)器存放壓縮包的目錄
?with?cd(REMOTE_PATH):
?#?解壓壓縮包
?run('tar?zxf?{0}.tgz'.format(APP_NAME))
?#?刪除也所報
?run('rm?-f?{0}.tgz'.format(APP_NAME))
?#?進入項目
?with?cd(APP_NAME):
?#?利用http-server和pm2將靜態(tài)項目跑起來
?run('pm2?start?http-server?--name?--?{0}?-p?8888?-d?false'.format(APP_NAME))
復制代碼

這個只是我們公司的業(yè)務(wù),其實 Fabric 腳本就是幫助你將 shell 命令跑在服務(wù)器上,后續(xù)幫助你進行遠程上傳部署,看過 Fabric 教程的大兄弟們,你們應該知道使用 local 命令會在當前服務(wù)器執(zhí)行命令,使用 run 命令會在遠程服務(wù)器執(zhí)行命令。

這個時候腳本就寫好了,我們打開 jenkins 找到對應項目,進入項目的 Configure,找到 build,然后配置一個 shell,讓其執(zhí)行。

可以參考下面的配置:

讓自動化工作流解放你的雙手

保存一下,然后自己測試一下吧。

在 jenkins 上執(zhí)行構(gòu)建,我們可以點擊這個構(gòu)建的圖標查看構(gòu)建過程有沒有問題。

讓自動化工作流解放你的雙手

當出現(xiàn)以下內(nèi)容時,就代表構(gòu)建成功了。

讓自動化工作流解放你的雙手

可以使用你業(yè)務(wù)服務(wù)器的 ip 加項目端口號查看跑起來的項目。

讓自動化工作流解放你的雙手

這個時候我們的自動化構(gòu)建及自動化部署就完成了。

最后

這篇文章我們只是簡單的搭建一套自動化工作流程,像單元測試什么的都沒有寫,如果你的項目有單元測試,只需要多執(zhí)行一條命令即可。

我們在開發(fā)完成之后,提交 git,jenkins 就可以幫助我們自動化執(zhí)行,解放了人力部署的生產(chǎn)力,讓我們更多關(guān)注的是開發(fā)過程。其實持續(xù)集成真實的配置要比我們這些復雜的多,一套完整的持續(xù)集成,能讓公司省不少人力成本。

雖然我們配置的簡單,但是你如果配置成功一個工程,其實就已經(jīng)了解了這個過程,后續(xù)接觸復雜的持續(xù)集成,會讓你上手更快。

讓自動化工作流解放你的雙手

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:讓自動化工作流解放你的雙手-創(chuàng)新互聯(lián)
本文URL:http://aaarwkj.com/article32/gicsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、App開發(fā)、營銷型網(wǎng)站建設(shè)、服務(wù)器托管網(wǎng)站設(shè)計公司、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
一区三区精品久久久精品| 亚洲天堂一区二区av| 日本av一区二区在线| 亚洲成人av综合在线| 亚洲小视频免费在线观看| 中文字幕人妻丝袜乱一区二区| 国产伦理免费精品中文字幕| 亚洲欧美日韩在线观看a三区| 欧美日韩亚洲视频二区| 欧美一区二区日韩国产| 女人的天堂啪啪啪av| 中文字幕日韩精品国产| 精品国产一区二区三级四区| 日韩一级免费高清黄片| 国产精品成人av在线| 日韩有码中文字幕一区| 久久精品国产成人综合| 日韩人妻系列在线观看| av在线视频男人的天堂| 国产精品一二三在线看| 日韩精品中文女同在线播放| 国产一区二区三区av网站| 色婷婷综合中文久久一本| 亚洲欧美中文日韩二区一区| 97在线观看全部视频| 中文字幕成人乱码亚洲| 中文字幕日韩欧美一区二区| 国产午夜福利诱惑在线观看| 91九色国产在线播放| 亚洲精品入口一区二区| 日韩国产欧美一区二区在线视频| 国产精品神马午夜福利| 久久成人影院免费观看| 国产传媒在线观看精品| 色哟哟免费在线观看视频| 美女在线观看av少妇| 尤物视频网站在线观看| 97水蜜桃视频在线观看| 国产日韩欧美亚洲中文| 成人在线午夜你懂的视频| 亚洲av成人免费在线|