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

Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示

這篇具有很好參考價(jià)值的文章主要介紹了Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??本文將介紹CI/CD的基本概念,以及如何使用Gitlab來實(shí)現(xiàn)CI/CD。
??本文介紹的CI/CD項(xiàng)目為個(gè)人Gitlab項(xiàng)目:gitlab_ci_test,訪問網(wǎng)址為:https://gitlab.com/jclian91/gitlab_ci_test。

CI/CD的含義

??在現(xiàn)代軟件工程中,CI即持續(xù)集成(Continuous integration),CD有兩重含義,即持續(xù)交付(Continuous Delivery)持續(xù)部署(Continuous Deployment),CI/CD是軟件工程中的重要過程。
??CI,聯(lián)系到具體的開發(fā)運(yùn)維場(chǎng)景,就是指開發(fā)者在完成項(xiàng)目中的一個(gè)小特性后,將自己分支的代碼合并到測(cè)試分支,這個(gè)過程就是集成,在集成過程中,會(huì)運(yùn)行一系列代碼格式的檢查、單元測(cè)試等嚴(yán)格保證項(xiàng)目質(zhì)量的檢查作業(yè)。
??CD有兩種含義:

  1. 持續(xù)交付,完成CI中的所有作業(yè)后,持續(xù)交付可自動(dòng)將已驗(yàn)證的代碼發(fā)布到儲(chǔ)存庫。持續(xù)交付是擁有可隨時(shí)部署到生產(chǎn)環(huán)境的artifaces或Docker鏡像,這一過程一般手動(dòng)實(shí)現(xiàn)。
  2. 持續(xù)部署,鑒于部署環(huán)境和部署方式的差異以及各種應(yīng)用之間的耦合,部署這一項(xiàng)任務(wù)不再是簡單的幾行命令就能搞定的了。持續(xù)部署意味著只要提交了代碼,就可以實(shí)現(xiàn)將代碼自動(dòng)部署至指定環(huán)境,如測(cè)試環(huán)境、開發(fā)環(huán)境等。這對(duì)于項(xiàng)目開發(fā)是十分方便、高效的。

??Gitlab CI/CD最初是Gitlab于2015年6月發(fā)布的一個(gè)特性,它支持在項(xiàng)目中編寫一個(gè).gitlab-ci.yml文件來定義一組自動(dòng)化作業(yè)(Job),這些自動(dòng)化作業(yè)組成一條自動(dòng)化流水線(Pipeline)。2016年,Gitlab又推出了自研的Gitlab Runner軟件包,以此作為流水線的運(yùn)行環(huán)境。當(dāng)開發(fā)者提交或合并代碼時(shí),Gitlab CI/CD會(huì)自動(dòng)運(yùn)行測(cè)試用例,構(gòu)建、部署環(huán)境,并且開發(fā)者能在Gitlab中看到整個(gè)流程的所有信息,包括日志、流程和artifacts,不需要登錄Gitlab之外的任何平臺(tái)。
??Gitlab CI/CD的典型工作流程如下:
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
??Gitlab CI/CD特性如下:

  • 開源: CI/CD是開源GitLab社區(qū)版和專有GitLab企業(yè)版的一部分。
  • 易于學(xué)習(xí): 詳細(xì)的官方操作文檔。
  • 無縫集成: CI/CD是GitLab的一部分,支持從計(jì)劃到部署,具有出色的用戶體驗(yàn)。
  • 可擴(kuò)展: 可以根據(jù)需要添加任意數(shù)量的構(gòu)建節(jié)點(diǎn)。
  • 更快的結(jié)果: 每個(gè)構(gòu)建可以拆分為多個(gè)作業(yè),這些作業(yè)可以在多臺(tái)計(jì)算機(jī)上并行運(yùn)行。
  • 針對(duì)交付進(jìn)行了優(yōu)化: 多個(gè)階段,手動(dòng)部署, 環(huán)境和變量。

Gitlab Runner

??Gitlab Runner是一個(gè)用于運(yùn)行Gitlab CI/CD流水線作業(yè)的軟件包,由Gitlab官方開發(fā),完全開源,支持在主流的系統(tǒng)上安裝、運(yùn)行,比如Windows, Linux, MacOS等。在筆者的MacOS系統(tǒng)中,安裝方式為:

brew install gitlab-runner

??Gitlab Runner分為三種類型,在注冊(cè)Runner過程中使用不同類型的token就能區(qū)分不同的類型。

  • Shared Runners,共享Runner,可以被倉庫里面的任意項(xiàng)目使用。token獲取位置為全局管理中心-Runner-注冊(cè)令牌。
  • Group Runners,組Runner,僅能被某個(gè)組中的任意項(xiàng)目使用。token獲取位置為項(xiàng)目群組-CICD-Runner-注冊(cè)令牌。
  • Specific Runners,特定Runner,僅能被指定的項(xiàng)目使用。token獲取位置為項(xiàng)目-設(shè)置-CICD-Runner-注冊(cè)令牌。

??本文中使用Specific Runners,我們?yōu)轫?xiàng)目申請(qǐng)?zhí)囟≧unner,如下圖:

  1. 創(chuàng)建項(xiàng)目Runner

Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
2. 選擇Linux平臺(tái),tags自己填寫,點(diǎn)擊Create Runner按鈕
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
3. Runner創(chuàng)建完畢,可獲取url和token
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
4. 在本地電腦上,注冊(cè)Runner:gitlab-runner register --url https://gitlab.com --token glrt-xxx,token為第3步中的token。
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
5. 查看Runner及運(yùn)行Runner:
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
6. 至此,項(xiàng)目中的Runner已配置完畢,我們可以運(yùn)行CI/CD流水線了。
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示

.gitlab-ci.yml

??在一個(gè)項(xiàng)目中,流水線文件通常是放在.gitlab-ci.yml文件中,該文件采用YAML格式書寫。
??在編寫.gitlab-ci.yml文件前,我們需了解幾個(gè)基本概念。

  • 流水線(Pipeline):流水線由.gitlab-ci.yml文件定義,它是一系列作業(yè)的組裝。這些作業(yè)按照一個(gè)順序運(yùn)行,行程一條流水線。觸發(fā)流水線的操作可以是代碼推送、創(chuàng)建tag、合并請(qǐng)求,以及定時(shí)觸發(fā)。
  • 階段(Stages):流程組成流水線,主要用于給作業(yè)分組。階段會(huì)由上到下按順序執(zhí)行。
  • 作業(yè)(Job):作業(yè)組成階段,是最基礎(chǔ)的執(zhí)行單元。同一個(gè)階段的作業(yè)是并行運(yùn)行的。

??以下是一個(gè)測(cè)試流水線,它包含3個(gè)階段:install,build,deploy,順序執(zhí)行,每個(gè)階段都有各自的作業(yè)。當(dāng)代碼提交至主分支時(shí),便會(huì)觸發(fā)流水線。

stages:
  - install
  - build
  - deploy

install_job:
  stage: install
  script:
    - echo "hello install"

build_job:
  stage: build
  script:
    - echo "hello build"

deploy_job:
  stage: deploy
  script:
    - echo "hello deploy"

Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
我們查看deploy_job的運(yùn)行結(jié)果:
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
??接下來,我們對(duì)本項(xiàng)目進(jìn)行流水線配置,如下:

stages:
  - build
  - deploy

build-job:
  stage: build
  script:
    - echo `date`
    - echo "Hello, $GITLAB_USER_LOGIN!"
    - echo "This job deploys something from the $CI_COMMIT_BRANCH branch."

deploy-job:
  image: docker
  # necessary for my macbook
  variables:
    DOCKER_TLS_CERTDIR: ""
    DOCKER_HOST: "tcp://docker:2375"
  services:
      - docker:dind
  # necessary for my macbook
  stage: deploy
  script:
    - docker build -t flask_blue_print:$CI_COMMIT_SHORT_SHA .
    - docker run -d -p 5005:5000 --name flask_demo flask_blue_print:$CI_COMMIT_SHORT_SHA
    - docker ps

該流水線的階段為:build和deploy,build階段中的build-job進(jìn)行簡單測(cè)試,deploy階段中的deploy-job使用Docker進(jìn)行部署。
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示
流水線采用Docker部署,執(zhí)行成功,但本地電腦的Docker服務(wù)并沒有運(yùn)行該服務(wù),原因?yàn)镚itlab與Gitlab-Runner不在一個(gè)環(huán)境中。

總結(jié)

??本文主要介紹了CI/CD的基本概念以及Gitlab CI/CD的簡單使用。有了Gitlab CI/CD,我們就可以保證項(xiàng)目代碼質(zhì)量(需代碼測(cè)試),并且方便、高效地進(jìn)行代碼更新,持續(xù)集成和持續(xù)部署,對(duì)于我們提高工作效率有很大改善。文章來源地址http://www.zghlxwxcb.cn/news/detail-498659.html

參考文獻(xiàn)

  1. gitlab-ci的簡易入門—基于python項(xiàng)目的CI演示:https://mp.weixin.qq.com/s/aQmdusndVdxHo1rrj7eg1w
  2. docker部署gitlab CI/CD (二)終篇:部署gitlab runner和添加gitlab-ci.yml文件 終極踩坑版:https://www.cnblogs.com/gaoxiong666/p/17336256.html
  3. Gitlab CI/CD 簡單介紹:https://blog.csdn.net/wangjiang_qianmo/article/details/122867335
  4. Gitlab官方網(wǎng)站:https://docs.gitlab.com/ee/ci/
  5. Gitlab CI/CD從入門到實(shí)戰(zhàn),龐夢(mèng)臣著,人民郵電出版社,2023-04-01

到了這里,關(guān)于Gitlab CI/CD入門(一)Python項(xiàng)目的CI演示的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【基于 GitLab 的 CI/CD 實(shí)踐】01、GitLab CI/CD 基礎(chǔ)概念

    【基于 GitLab 的 CI/CD 實(shí)踐】01、GitLab CI/CD 基礎(chǔ)概念

    目錄 一、為什么要做 CI/CD ? 1.1 背景-傳統(tǒng)的應(yīng)用開發(fā)發(fā)布模式 問題 1.2 持續(xù)集成與持續(xù)交付 持續(xù)集成(CI) 持續(xù)交付(CD) 持續(xù)部署(CD) 1.3 CI/CD 的價(jià)值體現(xiàn) 1.4 推薦常用的 CI/CD 工具 Jenkins GitLab 二、GitLab CI/CD 功能簡介 2.1 GitLab 內(nèi)置持續(xù)集成功能 持續(xù)集成(CI) 連續(xù)交付(

    2024年02月16日
    瀏覽(50)
  • 基于SNAT+DNAT發(fā)布內(nèi)網(wǎng)K8S及Jenkins+gitlab+Harbor模擬CI/CD的綜合項(xiàng)目

    基于SNAT+DNAT發(fā)布內(nèi)網(wǎng)K8S及Jenkins+gitlab+Harbor模擬CI/CD的綜合項(xiàng)目

    目錄 項(xiàng)目名稱 項(xiàng)目架構(gòu)圖 項(xiàng)目環(huán)境 項(xiàng)目概述 項(xiàng)目準(zhǔn)備 項(xiàng)目步驟 一、修改每臺(tái)主機(jī)的ip地址,同時(shí)設(shè)置永久關(guān)閉防火墻和selinux,修改好主機(jī)名,在firewalld服務(wù)器上開啟路由功能并配置snat策略。 1. 在firewalld服務(wù)器上配置ip地址、設(shè)置永久關(guān)閉防火墻和selinux,并修改好主機(jī)名

    2024年02月09日
    瀏覽(55)
  • Gitlab CI/CD概述

    Gitlab CI/CD概述

    CI/CD 是一種持續(xù)開發(fā)軟件的方法,可以不斷的進(jìn)行構(gòu)建、測(cè)試和部署代碼迭代更改。這種迭代有助于減少基于錯(cuò)誤或失敗的版本進(jìn)行開發(fā)新代碼的可能性。使用這種方法,從新代碼開發(fā)到部署,可以減少人工干預(yù)甚至不用干預(yù)。 達(dá)到持續(xù)的方法主要是: 持續(xù)集成 , 持續(xù)交付

    2024年02月12日
    瀏覽(22)
  • gitlab CI/CD 安裝 gitlab runner

    gitlab CI/CD 安裝 gitlab runner

    一、為什么需要安裝gitlab runner ? 極狐GitLab Runner 是在流水線中運(yùn)行作業(yè)的應(yīng)用,與極狐GitLab CI/CD 配合運(yùn)作。 說白了就是你部署的一個(gè)agent。 二、如何安裝? 1.介紹通過helm部署github runner 2.helm添加倉庫 helm repo add gitlab https://charts.gitlab.io 3.拉取chars helm pull gitlab/gitlab-runner -- 拉

    2024年02月14日
    瀏覽(33)
  • DevOps系列文章之 GitLab CI/CD

    DevOps系列文章之 GitLab CI/CD

    由于目前公司使用的gitlab,大部分項(xiàng)目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段時(shí)間后感覺還不錯(cuò),因此總結(jié)一下 介紹gitlab的CICD之前,可以先了解CICD是什么 我們的開發(fā)模式經(jīng)歷了如下的轉(zhuǎn)變:瀑布模型-敏捷開發(fā)→DevOps(Development、Operations的組合詞,是

    2024年01月22日
    瀏覽(62)
  • Gitlab CI/CD: rules和only

    Gitlab CI/CD: rules和only

    rules 和 only 都是在 GitLab CI/CD 配置中用于控制作業(yè)(job)何時(shí)執(zhí)行的,但它們之間有一些不同之處: only : only 用于定義在特定情況下觸發(fā)作業(yè)的條件。你可以指定一系列觸發(fā)條件,只有當(dāng)至少一個(gè)條件匹配時(shí),作業(yè)才會(huì)被觸發(fā)執(zhí)行。 only 通常用于根據(jù)分

    2024年02月03日
    瀏覽(36)
  • 【基于 GitLab 的 CI/CD 實(shí)踐】03、GitLab Pipeline 實(shí)踐(上)

    【基于 GitLab 的 CI/CD 實(shí)踐】03、GitLab Pipeline 實(shí)踐(上)

    目錄 一、GitLab Pipeline 流水線語法有哪些?流水線參數(shù)列表 如何檢查語法錯(cuò)誤?流水線語法檢測(cè) 二、Pipeline 基礎(chǔ)語法 job script before_script after_script stages 未定義 stages ?定義 stages 控制 stage 運(yùn)行順序 ? .pre .post stage variables 綜合實(shí)例(一) tags allow_failure when manual 手動(dòng) delayed 延遲

    2024年02月17日
    瀏覽(31)
  • 純手工搭建 GitaLab與Gitlab-CI/CD--附 gitlab-ci.yml示例

    純手工搭建 GitaLab與Gitlab-CI/CD--附 gitlab-ci.yml示例

    作者:javastarboy 背景:前幾年(2018 年前后)的 jenkins+docker+k8s 的CI/CD 在工作之中受益不少。提升了不少工作效率。而隨著這幾年的使用發(fā)現(xiàn),目前 gitlab-CI/CD 在持續(xù)集成部署中更加方便、高效。 尤其是在測(cè)試環(huán)節(jié)中,研發(fā)無需編寫復(fù)雜的 jenkins 腳本,只要提交代碼,即可自動(dòng)

    2023年04月08日
    瀏覽(24)
  • docker部署gitlab CI/CD (一)第一篇:部署gitlab及漢化

    docker部署gitlab CI/CD (一)第一篇:部署gitlab及漢化

    網(wǎng)上很多類似教程,但多少有點(diǎn)夾帶私貨,有的竟然拉取的第三方鏡像,而且很多都要修改配置文件,完全不知道是為什么,于是結(jié)合其他人的博客和官方文檔, 知其然也要知其所以然,于2023年4月17日寫下這篇。 官方文檔: https://docs.gitlab.com/ee/install/docker.html 主要參考博客

    2023年04月17日
    瀏覽(33)
  • 【基于 GitLab 的 CI/CD 實(shí)踐】02、gitlab-runner 實(shí)踐

    【基于 GitLab 的 CI/CD 實(shí)踐】02、gitlab-runner 實(shí)踐

    目錄 一、gitlab-runner 簡介 1.1 要求 1.2 特點(diǎn) 二、GitLab Runner 安裝 2.1 使用 GItLab 官方倉庫安裝 2.2 使用 deb/rpm 軟件包 2.3 在容器中運(yùn)行 GitLab Runner 三、GitLab Runner 注冊(cè) 3.1 GitLabRunner 類型 3.2 獲取 runner token 獲取?shared?類型 runner token ? ?獲取?group?類型的 runner token ? ?獲取?speci

    2024年02月16日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包