国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端自動化部署,Devops,CI/CD

這篇具有很好參考價(jià)值的文章主要介紹了前端自動化部署,Devops,CI/CD。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

DevOps

提到 Jenkins,想到的第一個(gè)概念就是 CI/CD 在這之前應(yīng)該再了解一個(gè)概念。

DevOps?Development?和?Operations?的組合,是一種方法論,并不特指某種技術(shù)或者工具。DevOps 是一種重視?Dev?開發(fā)人員和?Ops?運(yùn)維人員之間溝通、協(xié)作的流程。通過自動化的軟件交付,使軟件的構(gòu)建,測試,發(fā)布更加的快捷、穩(wěn)定、可靠。

CI

CI 的英文名稱是Continuous Integration,中文翻譯為:持續(xù)集成。

試想軟件在開發(fā)過程中,需要不斷的提交,合并進(jìn)行單元測試和發(fā)布測試版本等等,這一過程是痛苦的。持續(xù)集成CI是在源代碼變更后自動檢測、拉取、構(gòu)建的過程。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

CD?

CD 對應(yīng)兩個(gè)概念 持續(xù)交付Continuous Delivery?持續(xù)部署Continuous Deployment

持續(xù)交付

提交交付顧名思義是要拿出點(diǎn)東西的。在 CI 的自動化流程階段后,運(yùn)維團(tuán)隊(duì)可以快速、輕松地將應(yīng)用部署到生產(chǎn)環(huán)境中或發(fā)布給最終使用的用戶。

從前端的角度考慮,在某些情況下肯定是不能直接通過自動化的方式將最終的 build 結(jié)果直接扔到生產(chǎn)機(jī)的。持續(xù)交互就是可持續(xù)性交付供生產(chǎn)使用的的最終 build。最后通過運(yùn)維或者后端小伙伴進(jìn)行部署。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

持續(xù)部署?

作為持續(xù)交付的延伸,持續(xù)部署可以自動將應(yīng)用發(fā)布到生產(chǎn)環(huán)境。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

Jenkins 安裝?

示例服務(wù)器為 阿里云 CentOS 服務(wù)器。安全組中增加 8080 端口 Jenkins 默認(rèn)占用

Jenkins 安裝大體分兩種方式,一種使用 Docker 另一種則是直接安裝,示例選擇后者。不管使用哪種方式安裝,最終使用層面都是一樣的。?Linux 安裝[1],?Docker 安裝[2]

# 下載 Jenkins 資源sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo# 獲取并導(dǎo)入信任 的包制作者的秘鑰sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key# 升級 yum 源中的所有包sudo yum upgrade# Jenkins 依賴于 java 所以需要安裝 JDKsudo yum install java-11-openjdk# 安裝 Jenkinssudo yum install jenkins復(fù)制代碼

如果最終?Jenkins?沒有找到包而導(dǎo)致沒有安裝成功,檢查第一步和第二部執(zhí)行結(jié)果并重新執(zhí)行。

可以使用?systemctl?命令管理 Jenkins 服務(wù)?systemctl[3]

# 啟動 Jenkins 服務(wù)systemctl start jenkins# 重啟 Jenkins 服務(wù)systemctl restart jenkins# 停止 Jenkins 服務(wù)systemctl stop jenkins# 查看 Jenkins 服務(wù)狀態(tài)systemctl status jenkins復(fù)制代碼

啟動服務(wù)后訪問服務(wù)器地址 + 8080 端口,Jenkins 默認(rèn)為 8080 端口。

Jenkins 使用及 Freestyle 任務(wù)構(gòu)建

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

首次進(jìn)入使用?cat /var/lib/jenkins/secrets/initialAdminPassword?查看密碼。

隨后進(jìn)入插件安裝頁面,暫時(shí)安裝系統(tǒng)推薦插件即可。

然后創(chuàng)建用戶

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

構(gòu)建目標(biāo):拉取 github 代碼

點(diǎn)擊?新建 Item?創(chuàng)建一個(gè)?Freestyle Project

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

?在?源碼管理?處選擇 git ,輸入倉庫地址,點(diǎn)擊添加。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

?文章來源地址http://www.zghlxwxcb.cn/news/detail-694697.html

輸入 github 賬號和密碼,這里的密碼有時(shí)候可能會出現(xiàn)問題,可以使用?token?github 如何生成 token ?[4]

配置只是一方面,同時(shí)服務(wù)器也要具備 git 環(huán)境。?yum install git

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

構(gòu)建目標(biāo):部署到本機(jī)

部署前端項(xiàng)目肯定是離不開?nginx?的。?yum install nginx。

安裝完成后同樣可以使用?systemctl?命令管理?nginx?服務(wù)。

nginx?具體配置這里就不說了。本示例項(xiàng)目中,靜態(tài)文件托管目錄為?/usr/share/nginx/html/dist。

接著來到?Jenkins?這里。想要部署前端項(xiàng)目還需要依賴一個(gè)?Node?環(huán)境,需要在?Manage Jenkins -> Manage Plugins?在可選插件中搜索?nodejs?選擇對應(yīng)插件進(jìn)行安裝,安裝完成后需要重啟才會生效。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

然后到?系統(tǒng)管理 -> 全局工具配置?中配置?Node?(吐槽:沒有安裝任何插件時(shí)系統(tǒng)管理以及其子頁面全是英文,安裝完插件后又變成了中文。這國際化不知道是系統(tǒng)原因還是它的原因 ??)。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

隨后去修改剛才創(chuàng)建的任務(wù)。在?構(gòu)建環(huán)境?中會多出一個(gè)選項(xiàng)?Provide Node & npm bin/ folder to PATH?勾選即可。然后在?構(gòu)建?中選擇?增加構(gòu)建步驟 -> 執(zhí)行 shell?輸入打包發(fā)布相關(guān)的命令。Jenkins?會逐行執(zhí)行。

npm install yarn -gyarn installyarn build# 打包 build 后的文件tar -zcvf dist.tar.gz dist/# 刪除 build 后的文件rm -rf dist/# 移動 build 后的壓縮包到 nginx 托管目錄下。sudo mv dist.tar.gz /usr/share/nginx/html# 進(jìn)入托管目錄下cd /usr/share/nginx/html# 解壓sudo tar -zxcf dist.tar.gz# 刪除壓縮包sudo rm -rf dist.tar.gz復(fù)制代碼

?

  • 由于項(xiàng)目構(gòu)建時(shí)是在?Jenkins?的工作目錄下執(zhí)行腳本,會出現(xiàn)權(quán)限問題。導(dǎo)致即使使用了?sudo?還會出現(xiàn)類似以下錯誤。

We trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things:    #1) Respect the privacy of others.    #2) Think before you type.    #3) With great power comes great responsibility.復(fù)制代碼

?

解決方案:在?/etc/sudoers?文件中增加?jenkins ALL=(ALL) NOPASSWD:ALL?表示在執(zhí)行 sudo 時(shí)不需要輸入密碼。

  • 如果不使用?sudo?則會出現(xiàn)以下錯誤。

xxxxxxx: Permission denied

解決方案:修改?/lib/systemed/system/jenkins.service?文件。將?User=jenkins?修改為?User=root,表示給?Jenkins?賦權(quán)限。修改配置文件后記得重啟服務(wù)。

  • 構(gòu)建的過程中還可能出現(xiàn)以下錯誤

ERROR: Error fetching remote repo 'origin'復(fù)制代碼

解決方案:由于需要構(gòu)建的代碼在?github?上面,這種錯誤表示拉取代碼失敗了,重試幾次就可以了。

工作目錄

上面提到一個(gè)很重要的概念就是?工作目錄?在上面的?shell?默認(rèn)就是在這里執(zhí)行的。工作目錄是由兩部分組成。

  • /var/lib/jenkins/workspace/?類似于前綴吧。

  • web-deploy?這個(gè)其實(shí)是上面構(gòu)建任務(wù)的名字。

總結(jié):Jenkins?的執(zhí)行目錄是?/var/lib/jenkins/workspace/web-deploy。也就是說輸入的每一條命令都是在這里面執(zhí)行的。(搞清楚定位能避免好多問題,特別是前端的部署,就是打包,移動,解壓很容易搞錯路徑。)

構(gòu)建目標(biāo):偵聽 git 提交到指定分支進(jìn)行構(gòu)建

  • 來到?Jenkins?中選擇?系統(tǒng)管理 -> 系統(tǒng)配置?找到?Jenkins URL?將其復(fù)制。

  • 隨后在尾部添加?github-webhook/?尾部斜杠一定不要丟。整體結(jié)構(gòu)大致為?http://192.168.0.1:8080/github-webhook/

  • 登錄?github?需要集成的項(xiàng)目中添加?webhook。在?Payload URL?中將上述內(nèi)容填入。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

  • 然后修改?Jenkins?任務(wù)配置?構(gòu)建觸發(fā)器中選擇 GitHub hook trigger for GITScm polling

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

?

由于在上面的源碼管理中已經(jīng)指定了main分支,此時(shí)如果這個(gè)分支的代碼有改動就會觸發(fā)自動構(gòu)建。

構(gòu)建目標(biāo):部署到目標(biāo)主機(jī)

在真實(shí)的開發(fā)場景中,Jenkins?幾乎不會和前端資源放到一個(gè)服務(wù)器。大多數(shù)情況下?Jenkins?所處的服務(wù)器環(huán)境就是一個(gè)工具用的服務(wù)器,放置了一些公司中常用的工具。因此構(gòu)建到指定的服務(wù)器也至關(guān)重要。

1,系統(tǒng)管理 -> 插件管理?搜索?Publish Over SSH?進(jìn)行安裝。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

2,然后在系統(tǒng)管理 -> 系統(tǒng)配置中找到?Publish over SSH?點(diǎn)擊新增,再點(diǎn)擊高級,然后選中?Use password authentication, or use a different key

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

完成后可點(diǎn)擊右下角?Test Confirguration?進(jìn)行測試。

3,繼續(xù)修改構(gòu)建任務(wù)。先修改原有的構(gòu)建腳本。因?yàn)橐l(fā)布到遠(yuǎn)程,所以原有的發(fā)布命令要進(jìn)行去除。

npm install yarn -gyarn installyarn build# 只打包,然后刪除文件夾。tar -zcvf dist.tar.gz dist/rm -rf dist/復(fù)制代碼

4,選擇構(gòu)建后操作 -> Send build artifacts over SSH

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

  • Rransfer Set Source files:要上傳到目標(biāo)服務(wù)器的文件。它是一個(gè)相對路徑,相對于 Jenkins 的工作目錄?由于上面的 shell 執(zhí)行之后在工作目錄中只有一個(gè)壓縮包,so 直接寫一個(gè)文件名即可。

  • Remove prefix:去前綴。假設(shè)此時(shí)打包文件在?/var/lib/jenkins/workspace/web-deploy/assets/dist.tar.gz,那么?Rransfer Set Source files?則應(yīng)該為?assets/dist.tar.gz,此時(shí)?Remove prefix?配置為?assets/?則可以去除這個(gè)前綴,否則會在目標(biāo)服務(wù)中創(chuàng)建?assets?。

  • Remote directory:遠(yuǎn)程的靜態(tài)資源托管目錄。由于配置服務(wù)器默認(rèn)為?/,所以?usr/share/nginx/html/?不用以?/?開頭。

  • Exec command:遠(yuǎn)程機(jī)執(zhí)行?shell,由于配置服務(wù)器默認(rèn)為?/, 所以?工作目錄也是以?/?開始。

執(zhí)行成功后查看執(zhí)行日志會有類似以下結(jié)果:

SSH: Connecting from host [iZuf6dwyzch3wm3imzxgqfZ]SSH: Connecting with configuration [aliyun-dev] ...SSH: EXEC: completed after 202 msSSH: Disconnecting configuration [aliyun-dev] ...# 如果 Transferred 0 file 則需要查看配置的路徑是否正確。表示文件并沒有被移動到遠(yuǎn)程主機(jī)中。SSH: Transferred 1 file(s)Finished: SUCCESS復(fù)制代碼

?

構(gòu)建目標(biāo):釘釘機(jī)器人通知

1,系統(tǒng)管理 -> 插件管理?搜索?DingTalk?進(jìn)行安裝。文檔[5]

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

2,釘釘群創(chuàng)建機(jī)器人。釘釘群 -> 只能群助手 -> 添加機(jī)器人 -> 自定義

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

3,定義機(jī)器人名字和關(guān)鍵字,創(chuàng)建完成后先將?webhook?中的內(nèi)容復(fù)制。?

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

4,Jenkins?中?系統(tǒng)管理 -> 系統(tǒng)配置 -> 釘釘 -> 新增?配置完成后可點(diǎn)擊右下角進(jìn)行測試。?

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

5,修改構(gòu)建任務(wù)配置。?

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

  • 通知人:atAll 勾選后?@?不到準(zhǔn)確的人。??。輸入框內(nèi)可填寫需要被?@?人的手機(jī)號,多個(gè)換行。

  • 自定義內(nèi)容:支持?markdown?寫法,可以使用一些環(huán)境變量。192.168.0.1:8080/env-vars.html/

  • 實(shí)現(xiàn)默認(rèn) `@` 執(zhí)行人[6]

6,構(gòu)建成功

?前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

Pipline 構(gòu)建

上一章節(jié)中著重介紹了如何構(gòu)建?freestyle?的任務(wù),但是?Jenkins?遠(yuǎn)不止于此。在本章開始之前強(qiáng)烈建議閱讀文檔[7],重點(diǎn)關(guān)注流水線相關(guān)內(nèi)容。

新建任務(wù) -> 選擇流水線?其他內(nèi)容可以都不用管,只關(guān)注流水線?有兩種選擇,演示就選擇第一種。

直接在?Jenkins?中書寫配置。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

?在項(xiàng)目的?Jenkinsfile?配置文件中寫配置。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

在正式開始之前應(yīng)該了解?Jenkins Pipline?的基礎(chǔ)概念。

pipeline {    agent any // 在任何可用的代理上,執(zhí)行流水線或它的任何階段。    stages {        stage('Build') { // 定義 "Build" 階段。            steps {                // 執(zhí)行與 "Build" 階段相關(guān)的步驟。            }        }        stage('Deploy') { // 定義 "Deploy" 階段。            steps {                // 執(zhí)行與 "Deploy" 階段相關(guān)的步驟。            }        }    }}復(fù)制代碼

?

  • pipline:定義流水線整個(gè)結(jié)構(gòu),可以看做是根節(jié)點(diǎn)

  • agent:指示?Jenkins?為整個(gè)流水線分配一個(gè)執(zhí)行器,比如可以配置?Docker

  • stages:對整個(gè)?CI?流的包裹,個(gè)人認(rèn)為沒多大用,還必須得有。

  • stage:可以理解為是對某一個(gè)環(huán)節(jié)的描述。注意:參數(shù)就是描述內(nèi)容,可以是任何內(nèi)容。不要想歪了只能傳遞?Build?Deploy?這些。

  • steps:描述了?stage?中的步驟,可以存在多個(gè)。

了解到這里還是不夠的。流水線入門[8]?流水線語法參考[9]

Pipline 復(fù)刻 Freestyle

這里先直接把配置貼出來。后續(xù)結(jié)合內(nèi)容在進(jìn)行分析。

點(diǎn)擊查看完整配置

// 自定義 釘釘插件 的 錯誤信息和成功信息def successText = [    """ ### 新的構(gòu)建信息,請注意查收""",    """ ${env.JOB_BASE_NAME}任務(wù)構(gòu)建<font color=green>成功</font> ,點(diǎn)擊查看[構(gòu)建任務(wù) #${env.BUILD_NUMBER}](http://106.14.185.47:8080/job/${env.JOB_BASE_NAME}/${env.BUILD_NUMBER}/)"""]def failureText = [    """ ### 新的構(gòu)建信息,請注意查收""",    """ ${env.JOB_BASE_NAME}任務(wù)構(gòu)建<font color=red>失敗</font> ,點(diǎn)擊查看[構(gòu)建任務(wù) #${env.BUILD_NUMBER}](http://106.14.185.47:8080/job/${env.JOB_BASE_NAME}/${env.BUILD_NUMBER}/)"""]// 1,偵聽 github push 事件properties([pipelineTriggers([githubPush()])])pipeline {    agent any    // 環(huán)境變量定義。    environment {        GIT_REPO = 'http://github.com/vue-ts-vite-temp.git'    }    stages {        // 2,拉取 github 代碼,通過 GitSCM 偵聽 push 事件。        stage('Pull code') {            steps {                checkout(                    [                        $class: 'GitSCM',                        branches: [[name: '*/main']],                        extensions: [],                        userRemoteConfigs: [                            [                                credentialsId: '381325e4-0f9c-41ea-b5f6-02f8ea2a475a',                                url: env.GIT_REPO                            ]                        ],                        changelog: true,                        poll: true,                    ]                )            }        }        stage('Install and build') {            steps {                // 3,前面安裝過的 nodejs 插件使用                nodejs('v14.19.0') {                    sh 'npm install yarn -g'                    sh 'yarn install'                    sh 'yarn build'                }            }        }        stage('Pack') {            steps {                sh 'tar -zcvf dist.tar.gz dist/'                sh 'rm -rf dist/'            }        }        stage('Deploy') {            steps {                // 4,前面下載的 Publish Over SSH 插件的使用                sshPublisher(                    publishers: [                        sshPublisherDesc(                            configName: 'aliyun-dev',                            transfers: [                                sshTransfer(                                    cleanRemote: false,                                    excludes: '',                                    execCommand: '''                                        cd /usr/share/nginx/html/                                        tar -zxvf dist.tar.gz                                        rm -rf dist.tar.gz                                    ''',                                    execTimeout: 120000,                                    flatten: false,                                    makeEmptyDirs: false,                                    noDefaultExcludes: false,                                    patternSeparator: '[, ]+',                                    remoteDirectory: '/usr/share/nginx/html/',                                    remoteDirectorySDF: false,                                    removePrefix: '',                                    sourceFiles: 'dist.tar.gz'                                )                            ],                            usePromotionTimestamp: false,                            useWorkspaceInPromotion: false,                            verbose: false                        )                    ]                )            }        }    }    post {        success {            // 5,DingTalk 插件的使用。            dingtalk (                robot: '1314',                type: 'ACTION_CARD',                title: 'Jenkins構(gòu)建提醒',                text: successText,                btns: [                    [                        title: '控制臺',                        actionUrl: 'http://106.14.185.11:8080/'                    ],                    [                        title: '項(xiàng)目預(yù)覽',                        actionUrl: 'http://github.com/'                    ],                ],                at: []            )        }        failure {            dingtalk(                robot: '1314',                type: 'ACTION_CARD',                title: 'Jenkins構(gòu)建提醒',                text: failureText,                btns: [                    [                        title: '控制臺',                        actionUrl: 'http://106.14.185.11:8080/'                    ],                    [                        title: '項(xiàng)目預(yù)覽',                        actionUrl: 'http://github.com/'                    ],                ],                at: []// 這里是手機(jī)號多個(gè)之間,隔開            )        }    }}復(fù)制代碼

這么多內(nèi)容手寫無疑是很難受的,好在?Jenkins?提供了一些幫助工具。訪問地址為:Jenkins地址 +?/job?+ 當(dāng)前任務(wù) +?/pipeline-syntax/,例如:http://localhost:8080/job/dev-deploy/pipeline-syntax/,或者進(jìn)入任務(wù)構(gòu)建頁面,點(diǎn)擊流水線語法進(jìn)入

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

進(jìn)入該頁面后請熟讀并背誦以下三項(xiàng)。重點(diǎn)放到第一項(xiàng)。?

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

回頭看上面的腳本注釋都帶有序號。根據(jù)注釋序號開始解釋。

1,在片段生成器中選擇?properties: Set job properties?生成代碼片段。由于只是使用了?git hook trigger?所以要對生成的片段稍作修改。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd

2,如果不是為了偵聽?github push?選擇?git: Git?即可,但現(xiàn)在應(yīng)該選擇?checkout: Check out from version control,隨后填寫信息生成代碼即可。?

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

3,選擇?nodejs: Provide Node & npm bin/folder to Path

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

4,選擇?sshPublisher: Send build artifacts over SSH,像上面流水線一樣配置之后直接生成代碼即可。

前端自動化部署,Devops,CI/CD,vue,前端知識,自動化,devops,ci/cd?

5,DingTalk?文檔

總結(jié):?通過插件生成的代碼,稍作組合就成為了完整的配置。但整體難度還是要略高于?Freestyle?任務(wù)。畢竟生成的代碼有部分也不是拿來即用的,并且?Pipline 基本語法一定要有所掌握。不然生成的代碼都不曉得放到哪里合適。

?

?

到了這里,關(guān)于前端自動化部署,Devops,CI/CD的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • CI/CD:GitLab-CI 自動化集成/部署 JAVA微服務(wù)的應(yīng)用合集

    CI/CD:GitLab-CI 自動化集成/部署 JAVA微服務(wù)的應(yīng)用合集

    日常開發(fā)中,每次代碼編寫完成后,都需要手動打包,并且上傳服務(wù)器,無論本地打包的時(shí)間或者上傳文件到服務(wù)器都需要花費(fèi)大量的時(shí)間來完成,都是重復(fù)的并且毫無意義,應(yīng)該將時(shí)間花費(fèi)在更有價(jià)值的時(shí)間上;所以編寫這篇文章,將自己收集、搭建、測試的步驟或經(jīng)驗(yàn)匯

    2024年02月08日
    瀏覽(24)
  • 通過 Github workflows CI/CD 自動化部署 Github Pages hugo 免費(fèi)博客

    通過 Github workflows CI/CD 自動化部署 Github Pages hugo 免費(fèi)博客

    文章博客地址:https://blog.taoluyuan.com/posts/github-workflows/ GitHub Actions 介紹 GitHub 文檔:https://docs.github.com/zh/actions/learn-github-actions/understanding-github-actions 官方介紹: GitHub Actions 是一種持續(xù)集成和持續(xù)交付 (CI/CD) 平臺,可用于自動執(zhí)行生成、測試和部署管道。 您可以創(chuàng)建工作流程來

    2024年02月07日
    瀏覽(55)
  • DevOps—基于 Jenkins 構(gòu)建 Vue 前端工程自動化流程

    DevOps—基于 Jenkins 構(gòu)建 Vue 前端工程自動化流程

    一個(gè)完整的生產(chǎn)環(huán)境的 CI/CD 流程,往往會包括以下這些階段: 編碼 → 提交 → 構(gòu)建 → 測試 → 交付 → 部署 這里只是演示,就省略了測試相關(guān)階段,只包含提交、構(gòu)建、發(fā)布、部署,一個(gè)簡單的流程如下: vue 應(yīng)用構(gòu)建依賴于 Nodejs,需要在 Jenkins 上安裝 Nodejs 插件,并且進(jìn)

    2024年02月15日
    瀏覽(24)
  • 使用GitLab CI/CD 定時(shí)運(yùn)行Playwright自動化測試用例
  • 微服務(wù) & 云原生:基于 Gogs + Drone 實(shí)現(xiàn) CI/CD 自動化

    微服務(wù) & 云原生:基于 Gogs + Drone 實(shí)現(xiàn) CI/CD 自動化

    以一個(gè)簡單的前后端項(xiàng)目來說,分別編寫前后端的 Dockerfile 文件并構(gòu)建鏡像,然后編寫 docker-compose.yml 構(gòu)建部署,啟動運(yùn)行。每次代碼變更后都需重新手動打包、構(gòu)建、推送。 一個(gè)簡單的例子: 前端: 項(xiàng)目名:kubemanagement-web 技術(shù)棧:Vue 后端: 項(xiàng)目名:kubemanagement 技術(shù)棧:

    2024年02月13日
    瀏覽(22)
  • 在 CI/CD流水線中運(yùn)行自動化單元測試的4個(gè)原因

    目錄 什么是單元測試? C#中的單元測試示例 我需要在CI/CD 流水線中運(yùn)行自動化測試嗎? 開發(fā)人員代碼驗(yàn)證反饋循環(huán) 預(yù)驗(yàn)證 步步為營 減少“另一個(gè)開發(fā)人員寫了這段代碼”的問題 單元測試 什么是單元測試? 單元測試是一小段代碼,用于測試應(yīng)用程序編寫的代碼的邏輯。單

    2024年02月16日
    瀏覽(50)
  • 基于Docker構(gòu)建CI/CD工具鏈(七)使用Jmeter進(jìn)行自動化壓測

    基于Docker構(gòu)建CI/CD工具鏈(七)使用Jmeter進(jìn)行自動化壓測

    上一篇文章中,我們詳細(xì)介紹了構(gòu)建 Apifox Cli 的 Docker 鏡像的步驟,并通過簡單的示例演示了如何利用 GitLab 的 CI/CD 功能,將構(gòu)建好的鏡像利用在自動化測試作業(yè)中。在今天的文章中,我們將重點(diǎn)討論如何構(gòu)建 JMeter 的 Docker 鏡像,并演示如何在 GitLab 的 CI/CD 作業(yè)中利用該鏡像

    2024年04月16日
    瀏覽(35)
  • DevOps搭建(十九)-Jenkins+K8s自動化CI搭建詳細(xì)步驟

    DevOps搭建(十九)-Jenkins+K8s自動化CI搭建詳細(xì)步驟

    完整的pipeline-auto.yml腳本如下 完整的Jenkinsfile腳本如下 在Jenkins插件管理中搜索GitLab插件進(jìn)行安裝。 進(jìn)入Jenkins項(xiàng)目配置里的 構(gòu)建觸發(fā)器 ,勾選如下選項(xiàng): 從系統(tǒng)管理-系統(tǒng)配置-Gitlab將驗(yàn)證去掉,生產(chǎn)最好配置保證安全。 如果是GitLab和Jenkins在同一臺服務(wù)器,需要開啟允許請求

    2024年01月23日
    瀏覽(33)
  • 前端要了解的k8s、CI/CD、Devops概念

    簡單的理解,k8s就是 docker容器集群的管理工具 。他將容器進(jìn)行更多自動化的操作,自動創(chuàng)建、自動重啟、自動擴(kuò)容等,這個(gè)過程稱為 容器編排 。 k8s 抽象了硬件資源 ,將N臺物理機(jī)或云主機(jī)抽象成一個(gè)資源池,容器的調(diào)度交給K8S(例如CPU 不夠用就調(diào)度到一臺足夠使用的機(jī)器

    2024年02月03日
    瀏覽(73)
  • 實(shí)踐:devops之云主機(jī)模式持續(xù)部署(ci-cd)

    實(shí)踐:devops之云主機(jī)模式持續(xù)部署(ci-cd)

    https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩轉(zhuǎn)Typora》 2條Jenkins pipeline CI pipeline CD pipeline 標(biāo)準(zhǔn)規(guī)范 項(xiàng)目規(guī)范與總體設(shè)計(jì) 公司里面要使用流水線要做持續(xù)集成CI/CD的項(xiàng)目越來越多,這對流水線的設(shè)計(jì)和開發(fā)有不同的要求。我們經(jīng)常聽到用戶的反饋: 各種 不同語言的技術(shù)棧, 如何使流

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包