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

CI/CD流水線實(shí)戰(zhàn)

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

不知道為什么,現(xiàn)在什么技術(shù)都想學(xué),因?yàn)槲矣X得我遇到了技術(shù)的壁壘,大的項(xiàng)目接觸不到,做的項(xiàng)目一個(gè)字辣*。所以,整個(gè)人心浮氣躁,我已經(jīng)得通過每天的騎行和長跑緩解這種浮躁了。一個(gè)周末,我再次宅在了家里,學(xué)習(xí)了一下CICD

先分享一下shigen的學(xué)習(xí)視頻資源:CICD流水線實(shí)戰(zhàn)

git

分布式版本控制器。gitlab可以創(chuàng)建私人的倉庫,github私有倉庫需要付費(fèi)。

SVN 不推薦!不是噴它,技術(shù)的革新,新技術(shù)會解決老技術(shù)的各種問題。

由于SVN的集中式架構(gòu)、對離線工作支持較差、分支和合并復(fù)雜以及缺乏現(xiàn)代化功能等原因,它已經(jīng)不再被推薦作為主要的版本控制系統(tǒng)。 目前,Git已成為廣泛使用的分布式版本控制系統(tǒng),并且具有更強(qiáng)大的功能和更好的性能?!獊碜詂hatGPT的總結(jié)

git原理

再多的概念都沒有一張圖來的實(shí)在和清晰:

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

git配置

~/.gitconfig會保存git的全局配置,可以在這里修改git用戶的信息,如name email。

cat ~/.gitconfig
git在項(xiàng)目中

在項(xiàng)目的根路徑下也會存在.git文件夾,里邊也有一個(gè)config文件,存儲的是當(dāng)前的項(xiàng)目配置。

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

查看配置信息
git config --list
設(shè)置

通常用來配置name email。

git config set name=shigen
查看分支和提交

我本地配置了gitlog, 具體的配置shigen分享在下邊啦。

gitlog='git log --graph --abbrev-commit --decorate --format=format:'\''%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'\'\''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'\'' --all'

執(zhí)行命令,就是這樣的,是不是很清晰明了:

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

shigen更推薦tig。直接在mac上執(zhí)行brew install tig即可。

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

效果非常的炫酷、友好,可以直接在控制臺查看文件的改動。

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

常用的命令

雖然圖像化的操作工具如我常用的idea ugit等都能很好的滿足日常所需,但是:底層的原理還是得了解一下。想想,萬一只有終端操作咋辦。

  • 初始化
git init
  • 文件添加到暫存
git add xxx
  • 提交
git commit -m 'msg'
  • 查看日志
git log
  • 暫存區(qū)狀態(tài)
git status
  • 當(dāng)前文件與上次提交的差別
git diff
  • 回到某個(gè)版本
git reset --hard xxxx
  • 從本地push到主分支

一般的公司,master分支可是不允許直接push代碼的,這里只是一個(gè)例子哈。

git push -u origin master

gitlab

安裝

發(fā)現(xiàn)直接安裝會有問題,如:找不到鏡像源。嘗試使用docker安裝,發(fā)現(xiàn)云服務(wù)器的內(nèi)存不夠用,安裝的腳本如下:

mkdir -p etc/gitlab var/log/gitlab /var/opt/gitlab 
docker run -d -p 81:80 -p 10011:443 -p 10012:22  \
    --restart no \
    --name gitlab \
    -v $PWD/etc/gitlab:/etc/gitlab \
    -v $PWD/var/log/gitlab:/var/log/gitlab \
    -v $PWD/var/opt/gitlab:/var/opt/gitlab \
    --privileged=true \
    gitlab/gitlab-ce

echo '訪問81端口'

參考文章:Gitlab----使用Docker方式安裝部署Gitlab

感興趣的可以看看在M1芯片的電腦上如何的安裝:如何在M1的Mac上搭建gitlab

特色:添加用戶、使用郵箱、代碼合并

Nexus3

maven的倉庫,私服。直接下載、解壓、啟動。和docker的harbor類似。

jenkins

  • 自動的構(gòu)建
  • 易于安裝和配置
  • 分布式構(gòu)建,多臺計(jì)算機(jī)一起構(gòu)建
  • 支持的插件很多
容器化CI/CD流程
本地代碼---git---jenkins---harbor----docker(k8s)
部署

參考文章:Mac M1 部署 Jenkins

brew install jenkins-lts
brew services restart jenkins-lts 
open 127.0.0.1:8080

獲得jenkins的默認(rèn)密碼:

cat /Users/xxxx/.jenkins/secrets/initialAdminPassword

按照教程下載推薦的插件、創(chuàng)建賬戶、使用默認(rèn)的URL即可。

配置
  • 中文的配置

參考文章:jenkins設(shè)置中文

  • 全局工具的配置

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

Java的路徑:

/opt/homebrew/opt/openjdk@17/bin
  • 權(quán)限的劃分,需要使用到插件
  • 部署的過程推薦文章:Mac M1部署jenkins
本地新建項(xiàng)目并上傳gitee
git commit -m "first commit"
git remote add origin https://gitee.com/shigen/wx-develop.git
git push -u origin "master"

jenkins的項(xiàng)目面板新建項(xiàng)目,具體的過程參見:jenkins+gitee實(shí)現(xiàn)代碼自動化部署

在腳本的實(shí)現(xiàn)部分,我手寫了一個(gè),上傳到我自己的harbor。這里僅作為一個(gè)測試使用,具體的實(shí)際開發(fā)、應(yīng)用場景都是類似。

首先需要知道的是我拉取的代碼的位置,shigen電腦上的位置是這樣的:

/Users/xxxx/.jenkins/workspace/wx-develop
shell腳本

shigen的腳本是這樣的。首先就是通過maven對代碼進(jìn)行編譯和打包,之后用docker將java 服務(wù)的jar打包進(jìn)容器,生成的容器推到harbor,本地運(yùn)行。

#!/bin/bash
# jenkins shell script to deploy the java project

echo '------start deployment--------'
echo "java -version && mvn -version"

mvn clean install -DskipTests

DATE="$(date +%y%m%d-%H%M%S)"
APP_NAME="wx-xxxxx"
APP_PORT="80"
HARBOR_DOMIAN="xxxxxxxx"

TAG="$APP_NAME:$DATE"
docker build -t $TAG -f Dockerfile .

docker login $HARBOR_DOMIAN

NEW_TAG="$HARBOR_DOMIAN/xxxx/$TAG"
docker tag $TAG $NEW_TAG
docker push $NEW_TAG
echo "$TAG uploaded successfully"

docker run -d --name $APP_NAME-$DATE -p $APP_PORT:$APP_PORT $NEW_TAG

echo "Successfully started"

具體的配置如下:

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

點(diǎn)擊build now會出現(xiàn)一個(gè)新的任務(wù):

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

具體的日志是這樣的:

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

本地和harbor上也確實(shí)有這個(gè)服務(wù)和鏡像的存在,這里就不再做進(jìn)一步的驗(yàn)證了。

最后,總結(jié)一下jenkins的自動化流程的步驟:

CI/CD流水線實(shí)戰(zhàn),ci/cd,spring boot,docker,服務(wù)器,jenkins

pipline流水線

參考文章:pipeline流水線

以上就是shigen最近幾天學(xué)習(xí)的成果,關(guān)于CICD流水線實(shí)戰(zhàn)的全部內(nèi)容。后期也會攻克k8s,期待進(jìn)一步和大家分享。文章來源地址http://www.zghlxwxcb.cn/news/detail-650394.html

到了這里,關(guān)于CI/CD流水線實(shí)戰(zhàn)的文章就介紹完了。如果您還想了解更多內(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)文章

  • devops-5:從0開始構(gòu)建一條完成的CI CD流水線

    devops-5:從0開始構(gòu)建一條完成的CI CD流水線

    前文中已經(jīng)講述了靜態(tài)、動態(tài)增加agent節(jié)點(diǎn),以動態(tài)的k8s cloud為例,下面就以Maven構(gòu)建Java程序?yàn)槔_始構(gòu)建出一條完整的CI CD流水線。 實(shí)現(xiàn)功能目標(biāo): 1.分別可以根據(jù)分支和tag從源碼倉庫clone代碼 2.拿到源碼后開始編譯 3.構(gòu)建image,并push到鏡像倉庫 4.部署到對應(yīng)k8s集群 5.部署

    2023年04月20日
    瀏覽(43)
  • 在 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)
  • 你以為搞個(gè)流水線每天跑,團(tuán)隊(duì)就在使用CI/CD實(shí)踐了?

    你以為搞個(gè)流水線每天跑,團(tuán)隊(duì)就在使用CI/CD實(shí)踐了?

    在實(shí)踐中,很多團(tuán)隊(duì)對于DevOps 流水線沒有很透徹的理解,要不就創(chuàng)建一大堆流水線,要不就一個(gè)流水線通吃。實(shí)際上,流水線的設(shè)計(jì)和寫代碼一樣,需要基于“業(yè)務(wù)場景”進(jìn)行一定的設(shè)計(jì)編排,特別是很多通過“開源工具”搭建的流水線,更需要如此(商業(yè)的一體化平臺大部

    2024年02月08日
    瀏覽(41)
  • 【業(yè)務(wù)功能115】微服務(wù)-springcloud-springboot-Kubernetes-k8s集群-Kubesphere實(shí)現(xiàn)DevOps流水線-CI/CD-SonarQube- Jenkins

    【業(yè)務(wù)功能115】微服務(wù)-springcloud-springboot-Kubernetes-k8s集群-Kubesphere實(shí)現(xiàn)DevOps流水線-CI/CD-SonarQube- Jenkins

    dev 怎么開發(fā) ops 怎么運(yùn)維 參考項(xiàng)目鏈接:https://github.com/kubesphere/devops-maven-sample 持續(xù)集成是指軟件個(gè)人的部分向軟件整體部分交付,頻繁進(jìn)行集成以便更快地發(fā)現(xiàn)其中錯誤。 CI需要具備這些: 全面的自動化測試 這是實(shí)踐持續(xù)集成持續(xù)部署的基礎(chǔ),同時(shí),選擇合適的自動化測

    2024年02月04日
    瀏覽(43)
  • [Gitlab CI] 自動取消舊流水線

    [Gitlab CI] 自動取消舊流水線

    當(dāng)某一分支開啟 Merge Request 后只要提交一次 commit 就會自動創(chuàng)建一個(gè)新的流水線,此時(shí)之前的 Pipeline 不會被取消,經(jīng)過下面的設(shè)置后可以實(shí)現(xiàn)自動取消舊流水線的功能。 ??通過提交(commit)觸發(fā)的同一分支流水線可以自動冗余取消,但是通過手動觸發(fā)的同一分支流水線不會

    2024年03月12日
    瀏覽(36)
  • CI-持續(xù)集成 — 軟件工業(yè)“流水線”技術(shù)實(shí)現(xiàn)

    CI-持續(xù)集成 — 軟件工業(yè)“流水線”技術(shù)實(shí)現(xiàn)

    持續(xù)集成(Continuous Integration)是一種軟件開發(fā)實(shí)踐。在本系列文章的前一章節(jié)已經(jīng)對其背景及理論體系進(jìn)行了介紹。本小節(jié)則承接前面提出的理論構(gòu)想進(jìn)行具體的技術(shù)實(shí)現(xiàn)。 《Google軟件測試之道》: \\\"每天,Google都要測試和發(fā)布數(shù)百萬個(gè)源文件,億萬行代碼。數(shù)以億計(jì)的構(gòu)建

    2024年02月12日
    瀏覽(41)
  • 【測試】自動化測試平臺MeterSphere與CI流水線集成配置步驟

    【測試】自動化測試平臺MeterSphere與CI流水線集成配置步驟

    登錄 MeterSphere 控制臺。訪問個(gè)人信息下的 API Keys,點(diǎn)擊新建來創(chuàng)建 API Keys API Keys 創(chuàng)建好之后,可以進(jìn)行查看、復(fù)制Access Key。 點(diǎn)擊 Secret Key 下的顯示并復(fù)制 Secret Key 在 Jenkins 上安裝 MeterSphere 提供的 Jenkins 插件。Jenkins 插件下載地址:https://github.com/metersphere/jenkins-plugin/release

    2023年04月20日
    瀏覽(39)
  • AWS CI/CD之一:CodeBuild配置(Spring版)

    AWS CI/CD之一:CodeBuild配置(Spring版)

    最近需要在AWS國際云上面配置CI/CD工作流,這里以Spring Boot Java項(xiàng)目為例子進(jìn)行CodeBuild構(gòu)建。AWS云的CI/CD工作流主要包括Code Commit,Code Build,Code Deploy, Code Pipeline,主要包括這4個(gè)AWS服務(wù)。 找到AWS CodeBuild主頁,點(diǎn)擊創(chuàng)建構(gòu)建項(xiàng)目,如下圖: 設(shè)置CodeBuild項(xiàng)目名稱,設(shè)置源代碼來源和

    2024年01月18日
    瀏覽(16)
  • CI/CD工具中的CI和CD的含義

    CI/CD工具中的CI和CD的含義

    CI/CD 是現(xiàn)代軟件開發(fā)方法中廣泛使用的一種方法。其中,CI 代表持續(xù)集成(Continuous Integration),CD 則有兩層含義,一是持續(xù)交付(Continuous Delivery),二是持續(xù)部署(Continuous Deployment)。下面是這些術(shù)語的詳細(xì)解釋: 持續(xù)集成(Continuous Integration):CI 是一種開發(fā)實(shí)踐,開發(fā)人

    2024年02月07日
    瀏覽(16)
  • 【基于 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)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包