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

Jenkins+vue發(fā)布項(xiàng)目

這篇具有很好參考價值的文章主要介紹了Jenkins+vue發(fā)布項(xiàng)目。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

在Jenkins 中先創(chuàng)建一個任務(wù)名稱

Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
然后進(jìn)行下一步,放一個項(xiàng)目
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維

填寫一些參數(shù)
參數(shù)1:
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
參數(shù)2:
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
參數(shù)3:Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維參數(shù)4:
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
點(diǎn)擊保存就行了

配置腳本

// git
def git_url = 'http://gitlab.xxxx.git'
def git_auth_id = 'GITEE_RIVERBIED'

// harbor
def harbor_host = '10.0.165.17:5000'
def harbor_project = 'test'
def harbor_crt_id = 'HARBOR_CRT_ID'

// k8s shf
def k8s_crt_id = 'KUBE_CONFIG_FILE_ID'
def k8s_namespace = 'test-web'

// common
def api_name = 'test-web'
def docker_file_path= ''
def docker_image = "${harbor_host}/${harbor_project}/${api_name}:${SERVICE_VERSION}-${ENVIRONMENT.toLowerCase()}"
def service_node_port = ''
def current_timespan = System.currentTimeMillis().toString()


pipeline {
    agent any
    tools {
      nodejs 'nodejs14.15.1'
    }
    stages {
        stage('參數(shù)初始化+代碼拉取') {
            steps {
                script {
                            api_name = "test-web"
                            docker_file_path = "Dockerfile"
                            docker_image = "${harbor_host}/${harbor_project}/${api_name}-${ENVIRONMENT.toLowerCase()}:${SERVICE_VERSION}_${current_timespan}"
                            service_node_port = "30992"
                }
               dir("${ENVIRONMENT.toLowerCase()}") {
               // 如果是公開倉庫,可以直接使用 git url: "${git_url}" 拉取代碼
                git branch: BRANCH, credentialsId: "${git_auth_id}", url: "${git_url}"
               }
            }
        }

        stage('依賴安裝') {
            steps {
                dir("${ENVIRONMENT.toLowerCase()}") {
                sh (script: """
                npm install --registry=https://registry.npm.taobao.org
                """)
                }
            }
        }

         stage('代碼編譯') {
            steps {
                dir("${ENVIRONMENT.toLowerCase()}") {
                sh (script: """
                npm run build
                """)
                }
            }
        }

        stage('鏡像構(gòu)建') {
            steps {
                dir("${ENVIRONMENT.toLowerCase()}") {
                sh (script: """
                oldImage=\$(docker images ${harbor_host}/${harbor_project}/${api_name}:${SERVICE_VERSION}  | grep ${api_name} | awk \'{ print \$1":"\$2 }\')
                if [ -z \$oldImage ]; then
                    echo "正常構(gòu)建鏡像"
                else
                     echo "刪除存在鏡像"
                     docker rmi \$oldImage
                fi
                """)
                sh 'pwd'
                // 生成鏡像
                sh "docker build -t ${docker_image}  -f ${docker_file_path} ."
                // 查看鏡像
                sh "docker images ${harbor_host}/${harbor_project}/${api_name}"
                }
            }
        }
        stage('鏡像上傳') {
            steps {
                withCredentials([usernamePassword(credentialsId: "${harbor_crt_id}", passwordVariable: 'harbor_password', usernameVariable: 'harbor_user_name')]) {
                sh (script: """
                # 登錄鏡像倉庫
                HARBOR_PASSWORD=${harbor_password} && echo "\$HARBOR_PASSWORD" | docker login ${harbor_host}  -u ${harbor_user_name} --password-stdin
                # 推送鏡像
                docker push ${docker_image}
                # 登出
                docker logout ${harbor_host}
                # 刪除鏡像
                docker rmi ${docker_image}
                """)
                }
            }
        }
        stage('發(fā)布到K8S') {
         steps {
            dir("${ENVIRONMENT.toLowerCase()}") {
            sh """
            api_name=${api_name}
            deploy_api_name=\${api_name}
            export REGISTRY_HOST_IMAGE=${docker_image}
            export SERVICE_NAME=\${deploy_api_name}
            export SERVICE_VERSION=\${SERVICE_VERSION}
            export SERVICE_DEPLOYNAME_NAME=\${deploy_api_name}-deployment
            export ASPNETCORE_ENVIRONMENT=${ENVIRONMENT}
            export SERVICE_SERVICE_NAME=\${deploy_api_name}-service
            export SERVICE_SERVICE_PORT_NAME=\${deploy_api_name}-port
            export SERVICE_SERVICE_SELECT_NAME=\${deploy_api_name}
            export SERVICE_SERVICE_NODE_PORT=${service_node_port}
            export SERVICE_REPLICAS=${REPLICAS}
            export K8S_DEPLOY_NAMESPACE=${k8s_namespace}

            envsubst < deploy/k8s-master/template/api-deployment.yaml > deploy/k8s-master/template/api-real-deployment.yaml
            echo 'deployment發(fā)布內(nèi)容'
            cat deploy/k8s-master/template/api-real-deployment.yaml

            envsubst < deploy/k8s-master/template/api-service.yaml > deploy/k8s-master/template/api-real-service.yaml
            echo 'service發(fā)布內(nèi)容'
            cat deploy/k8s-master/template/api-real-service.yaml
          """
          withKubeConfig([credentialsId: "${k8s_crt_id}"]) {
            sh 'kubectl apply -f deploy/k8s-master/template/api-real-deployment.yaml'
            sh 'kubectl apply -f deploy/k8s-master/template/api-real-service.yaml'
          }
        }
        }
       }
    }
}

在harbor網(wǎng)站里創(chuàng)建一個項(xiàng)目對應(yīng)harbor_project 與腳本相互對應(yīng),
如果不創(chuàng)建,鏡像創(chuàng)建不成功

Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
在下面這個網(wǎng)站里創(chuàng)建一個k8s_namespace 與上面的腳本相互對應(yīng),
如果不創(chuàng)建,發(fā)布到k8s會報錯

Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維

然后還有一個Dockerfile文件

FROM nginx
COPY dist/ /var/test/html/
COPY dockerConf/default.conf /etc/nginx/conf.d/
EXPOSE 80
EXPOSE 443

然后還要在dockerConf文件夾下創(chuàng)建一個default.conf文件

server {
    listen 80;
    server_name "";
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/javascript application/x-javascript text/css application/css application/xml application/xml+rss text/javascript application/x-httpd-php ima
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;
	access_log  /var/log/nginx/access.log;
	location / { 
                      root   /var/test/html/; 
                      index  index.html index.htm; 
                      if (!-e $request_filename) { 
                          rewrite ^(.*)$ /index.html?s=\$1 last; 
                          break; 
                      } 
               }
}

各種配置完之后,運(yùn)行一下
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維

接下來,成功會變成這樣,如果失敗了,會在具體的哪一步報錯,根據(jù)錯誤信息去修改,有時候網(wǎng)速慢,會在下載依賴的時候就會報錯
Jenkins+vue發(fā)布項(xiàng)目,jenkins,vue.js,運(yùn)維
這就成了
文章來源地址http://www.zghlxwxcb.cn/news/detail-723920.html

到了這里,關(guān)于Jenkins+vue發(fā)布項(xiàng)目的文章就介紹完了。如果您還想了解更多內(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)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

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

相關(guān)文章

  • 【運(yùn)維知識高級篇】超詳細(xì)的Jenkins教程4(參數(shù)化構(gòu)建+腳本傳參+代碼秒級發(fā)布+秒級回滾)

    【運(yùn)維知識高級篇】超詳細(xì)的Jenkins教程4(參數(shù)化構(gòu)建+腳本傳參+代碼秒級發(fā)布+秒級回滾)

    之前我們介紹的大多是測試環(huán)境的推送,在生產(chǎn)環(huán)境中,我們不會用到那么多次的構(gòu)建測試,但是會涉及穩(wěn)定版本的發(fā)布和回滾,我們也通過jenkins配合gitlab去實(shí)現(xiàn),通過遠(yuǎn)程倉庫的tag傳遞參數(shù),我們把這種方式稱為參數(shù)化構(gòu)建,在參數(shù)化構(gòu)建的過程中,我們省略了代碼質(zhì)量檢

    2024年02月07日
    瀏覽(21)
  • 《項(xiàng)目實(shí)戰(zhàn)》 Jenkins 與 CICD、發(fā)布腳本
  • Jenkins配置maven項(xiàng)目,打包、部署、發(fā)布

    Jenkins配置maven項(xiàng)目,打包、部署、發(fā)布

    Jenkins和項(xiàng)目在兩臺服務(wù)器上 Jenkins的下載安裝部署省略,可自行上官網(wǎng)。 1.安裝maven插件 完成后,會出現(xiàn)“success”,并且勾選“安裝完成后重啟Jenkins(空閑時)” 2.部署有Jenkins的服務(wù)器上,下載maven,配置環(huán)境變量,我在opt/目錄下放著。 ?執(zhí)行命令: Jenkins配置maven 配置maven,

    2024年02月09日
    瀏覽(18)
  • Jenkins安裝至項(xiàng)目發(fā)布全流程

    Jenkins安裝至項(xiàng)目發(fā)布全流程

    1、安裝JDK Jenkins需要依賴JDK,所以先安裝JDK1.8 2、獲取jenkins安裝包 3、把安裝包上傳到linx服務(wù)器,進(jìn)行安裝 4、修改Jenkins配置 5、啟動Jenkins 6、打開瀏覽器訪問 7、獲取并輸入admin賬戶密碼 cat /var/lib/jenkins/secrets/initialAdminPassword 輸入后我們安裝推薦的插件即可: 等待安裝完成

    2023年04月08日
    瀏覽(21)
  • 【運(yùn)維知識高級篇】超詳細(xì)的Jenkins教程1(安裝部署+配置插件+創(chuàng)建自由風(fēng)格項(xiàng)目+配合gitlab實(shí)現(xiàn)Jenkins自動觸發(fā))

    【運(yùn)維知識高級篇】超詳細(xì)的Jenkins教程1(安裝部署+配置插件+創(chuàng)建自由風(fēng)格項(xiàng)目+配合gitlab實(shí)現(xiàn)Jenkins自動觸發(fā))

    Jenkins是一個開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成的工具,用于監(jiān)控持續(xù)重復(fù)的工作,?旨在提供一個開放易用的平臺,使軟件的持續(xù)集成變成可能,是持續(xù)集成的核心,可以與其他軟件進(jìn)行協(xié)作,例如,gitlab推送給測試環(huán)境代碼,可以通過Jenkins省略步驟,實(shí)現(xiàn)自動

    2024年02月05日
    瀏覽(40)
  • 使用Jenkins構(gòu)建發(fā)布一個簡單的maven項(xiàng)目

    使用Jenkins構(gòu)建發(fā)布一個簡單的maven項(xiàng)目

    上一章,完成了jenkins在ubuntu上的安裝,這一章將使用單個Jenkins服務(wù)完成一個maven項(xiàng)目的打包和發(fā)布。 用到的插件有:Maven Integration、Git、Publish Over SSH三個,在Dashboard - Manage Jenkins - Plugins -Available plugins里搜索并安裝。 2.1、配置好JDK 在Dashboard - Manage Jenkins - Tools里將JAVA_HOME的目

    2024年02月16日
    瀏覽(18)
  • jenkins 打包項(xiàng)目,并發(fā)布到其他服務(wù)器

    jenkins 打包項(xiàng)目,并發(fā)布到其他服務(wù)器

    在jenkins的節(jié)點(diǎn)服務(wù)上進(jìn)行項(xiàng)目的打包操作。 jenkins節(jié)點(diǎn)服務(wù)上需要的程序: 1.git 用于從gitlab上拉取項(xiàng)目,到j(luò)enkins節(jié)點(diǎn)服務(wù)器上的workspace目錄中。 2.java 用于執(zhí)行jenkins的一些操作。 3.maven 如果是maven項(xiàng)目,要用于管理依賴。 jenkins 配置 Publish over SSH 插件。用于將節(jié)點(diǎn)服務(wù)上打包

    2024年02月15日
    瀏覽(19)
  • Jenkins構(gòu)建自由風(fēng)格項(xiàng)目發(fā)布jar到服務(wù)器

    Jenkins構(gòu)建自由風(fēng)格項(xiàng)目發(fā)布jar到服務(wù)器

    前面的文章有介紹 docker安裝jenkins?和?docker+jenkins發(fā)布spring項(xiàng)目;這里就不做過多的介紹,直接說明構(gòu)建步驟。 1、選擇構(gòu)建一個自由風(fēng)格的項(xiàng)目? 2、?選擇丟棄舊的構(gòu)建 ?3、配置Git信息 4、構(gòu)建觸發(fā)器?和?構(gòu)建環(huán)境可以直接跳過 5、直接來到Build Steps這步驟,先新增一個調(diào)用

    2024年02月13日
    瀏覽(24)
  • 記錄使用jenkins配置maven,并且打包,部署,發(fā)布maven項(xiàng)目的過程

    記錄使用jenkins配置maven,并且打包,部署,發(fā)布maven項(xiàng)目的過程

    專欄的前面幾篇博客已經(jīng)把jenkins和gitlab集成起來了,接著我們開始打包,部署發(fā)布maven項(xiàng)目 首先在jenkins中安裝maven,docker安裝的maven默認(rèn)安裝了java,但是沒有安裝maven,所以這里我們需要自己進(jìn)入到j(luò)enkins容器中,然后安裝maven。 我這里的maven是自己在官網(wǎng)傳送門下載的最新版

    2024年02月02日
    瀏覽(34)
  • K8S + GitLab + Jenkins自動化發(fā)布項(xiàng)目實(shí)踐(二)

    K8S + GitLab + Jenkins自動化發(fā)布項(xiàng)目實(shí)踐(二)

    前置工作:已部署5節(jié)點(diǎn)k8s集群,并搭建了代碼倉庫和鏡像倉庫(GitLab + Harbor)。 主機(jī)名 IP 角色 k8s-master1 192.168.124.a k8s控制平面 k8s-master2 192.168.124.b k8s控制平面 k8s-master3 192.168.124.c k8s控制平面 k8s-worker1 192.168.124.d k8s工作節(jié)點(diǎn) k8s-worker2 192.168.124.e k8s工作節(jié)點(diǎn) harborgit 192.168.124.f

    2024年02月03日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包