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

實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

持續(xù)集成和持續(xù)交付一直是當(dāng)下流行的開(kāi)發(fā)運(yùn)維方式,CICD省去了大量的運(yùn)維時(shí)間,也能夠提高開(kāi)發(fā)者代碼集成規(guī)范。開(kāi)發(fā)者在開(kāi)發(fā)完需求功能后可以直接提交到gitee,然后jenkins直接進(jìn)行代碼編譯和一體化流水線部署。通過(guò)流水線部署可以極大的提高devops效率,也是企業(yè)信息自動(dòng)化的一種體現(xiàn)。

Jenkins部署

Jenkins是一個(gè)開(kāi)源軟件項(xiàng)目,是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件項(xiàng)目可以進(jìn)行持續(xù)集成。
Jenkins部署可以直接物理部署和容器部署,本次我們直接用docker容器化部署。

創(chuàng)建Jenkins docker-compose

由于高版本一些插件不能完全下載,今天我們使用較低的版本進(jìn)行演示,一般情況下還是夠用了。
[root@localhost app]# pwd
/app
[root@localhost app]# vim docker-compose-jenkins.yaml

version: '3'
services:
  jenkins:
    image: registry.cn-hangzhou.aliyuncs.com/senfel/jenkins:2.346.1
    container_name: jenkins
    restart: unless-stopped  #指定容器退出后的重啟策略為始終重啟,但是不考慮在Docker守護(hù)進(jìn)程啟動(dòng)時(shí)就已經(jīng)停止了的容器
    volumes:
      - "/usr/bin/docker:/usr/bin/docker"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7"
      - "./jenkins/jenkins_home:/var/jenkins_home"
      - "./jenkins/jenkins_config:/var/jenkins_config"
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      JAVA_OPTS: '-Xmx2048M -Xms2048M -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxNewSize=128m -Djava.util.logging.config.file=/var/jenkins_home/log.properties -Duser.timezone=Asia/Shanghai'
    user: root
    ports:
      - "10000:8080"

配置maven源

創(chuàng)建maven配置文件目錄
[root@localhost app]# mkdir -p jenkins/jenkins_home/appconfig/maven
新增settings.xml
[root@localhost app]# vim jenkins/jenkins_home/appconfig/maven/settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
  </servers>
  <mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <localRepository>/root/.m2</localRepository>
  <profiles>
        <profile>
                <id>jdk-1.8</id>
                <activation>
                        <jdk>1.8</jdk>
                </activation>
                <properties>
                        <maven.compiler.source>1.8</maven.compiler.source>
                        <maven.compiler.target>1.8</maven.compiler.target>
                        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
                </properties>
        </profile>
  </profiles>
</settings>

啟動(dòng)Jenkins容器安裝插件

[root@localhost app]# docker-compose -f docker-compose-jenkins.yaml up -d
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

瀏覽器http://10.10.22.91:10000
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

等待初始化完成解鎖Jenkins
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

獲取初始密碼
[root@localhost app]# cat jenkins/jenkins_home/secrets/initialAdminPassword
安裝推薦插件
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

創(chuàng)建用戶并配置實(shí)例
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

安裝Docker Pipleline插件
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

在 系統(tǒng)設(shè)置->Configure Global Security”,不驗(yàn)證ssh可用性
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

Gitee ssh公匙配置與測(cè)試項(xiàng)目提交

1、進(jìn)入docker容器創(chuàng)建rsa
[root@localhost app]# docker exec -it jenkins bash
root@c781568bbe98:/# ssh-keygen -t rsa -C “senfel@sina.cn”
后續(xù)步驟全部enter
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

查看公匙并配置在gitee ssh
root@c781568bbe98:/# cat /root/.ssh/id_rsa.pub
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

查看私匙并記住后面jenkins創(chuàng)建流水線配置憑證
root@c781568bbe98:/# cat /root/.ssh/id_rsa

2、準(zhǔn)備一個(gè)項(xiàng)目, 在根目錄下創(chuàng)建兩個(gè)文件Dockerfile、 Jenkinsfile
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

Dockerfile

FROM openjdk:8-jre-alpine
# 將當(dāng)前目錄下的jar包復(fù)制到docker容器的/目錄下
COPY target/*.jar /app.jar
# 運(yùn)行過(guò)程中創(chuàng)建一個(gè)xx.jar文件
RUN touch /app.jar;

ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
ENV PARAMS=""

# 聲明服務(wù)運(yùn)行在8080端口
EXPOSE 8080
# 指定docker容器啟動(dòng)時(shí)運(yùn)行jar包
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /app.jar $PARAMS" ]

Jenkinsfile

pipeline{
    agent any
    environment {
      WS = "${WORKSPACE}"
      IMAGE_NAME = "demo"
    }

    //定義流水線的加工流程
    stages {
        //流水線的所有階段
        stage('step1:env check'){
            steps {
               sh 'pwd && ls -alh'
               sh 'printenv'
               sh 'docker version'
               sh 'java -version'
               sh 'git --version'
            }
        }

        stage('step2:compile'){
            agent {
                docker {
                    image 'maven:3-alpine'
                    args '-v maven-repository:/root/.m2'
                 }
            }
            steps {
               sh 'pwd && ls -alh'
               sh 'mvn -v'
               sh 'cd ${WS} && mvn clean package -s "/var/jenkins_home/appconfig/maven/settings.xml" -Dmaven.test.skip=true'
            }
        }

        stage('step3:package'){
            steps {
               sh 'pwd && ls -alh'
               sh 'docker build -t ${IMAGE_NAME} .'
            }
        }

        stage('step4:arrange'){
            // 刪除容器和虛懸鏡像
            steps {
               sh 'pwd && ls -alh'
               sh 'docker rm -f ${IMAGE_NAME} || true && docker rmi $(docker images -q -f dangling=true) || true'
               sh 'docker run -d -p 8888:8088 --name ${IMAGE_NAME} -v /app/logs/${IMAGE_NAME}:/logs/${IMAGE_NAME} ${IMAGE_NAME}'
            }
        }
    }
}

3、提交到Gitee
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

Jenkins創(chuàng)建流水線

1、控制臺(tái)-新建item
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

2、直接進(jìn)入流水線選項(xiàng)進(jìn)行g(shù)it配置
2.1 添加憑證
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

2.2 填入gitee 代碼倉(cāng)庫(kù)和選擇喜歡的分支
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

3、流水線進(jìn)行構(gòu)建演示
3.1 進(jìn)入我們自建流水線demo,點(diǎn)擊立即構(gòu)建
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

3.2 查看構(gòu)建視圖
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

如圖所示:構(gòu)建成功

3.3 工作臺(tái)查看流水線
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

如圖所示:流水線demo上次構(gòu)建成功

3.4 驗(yàn)證demo項(xiàng)目部署功能
GET 10.10.22.91:8888/hello
實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線,docker,CI/CD,microservice,docker,jenkins,gitee,ci/cd,java

經(jīng)測(cè)試,功能正常,流水線部署成功。

寫在最后

實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線還是較為簡(jiǎn)單,本次我們引入了Docker Pipleline進(jìn)行我們項(xiàng)目從gitee直接流水線話構(gòu)建部署。當(dāng)然我們也可以按照Generic Webhook Trigger插件進(jìn)行自動(dòng)觸發(fā)構(gòu)建,也是比較簡(jiǎn)單。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-621203.html

到了這里,關(guān)于實(shí)戰(zhàn):Docker+Jenkins+Gitee構(gòu)建CICD流水線的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • 【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建的功能

    【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建的功能

    ?【jenkins】jenkins流水線構(gòu)建打包jar,生成docker鏡像,重啟docker服務(wù)的過(guò)程,在jenkins上一鍵完成,實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建,服務(wù)重啟,服務(wù)發(fā)布的功能。一鍵實(shí)現(xiàn)。非常的舒服。 這是 shell腳本? 腳本名稱: startup.sh ? 本腳本的功能是在jenkins 構(gòu)建完項(xiàng)目后,通過(guò)jar包生成dock

    2024年02月11日
    瀏覽(94)
  • 【Jenkins】Jenkins構(gòu)建前端流水線

    【Jenkins】Jenkins構(gòu)建前端流水線

    1、服務(wù)器中已安裝好nginx,如沒(méi)有安裝,可參考此博客:【Shell腳本】Linux安裝Nginx以及開(kāi)機(jī)自啟 2、如果已有試圖,則直接新建任務(wù);如沒(méi)有視圖,則新建一個(gè)視圖即可。 一個(gè)項(xiàng)目一個(gè)視圖就可以 描述:XXX前端-前端XXX服務(wù)測(cè)試環(huán)境-項(xiàng)目構(gòu)建 創(chuàng)建人:創(chuàng)建者姓名 時(shí)間:創(chuàng)建

    2024年02月16日
    瀏覽(20)
  • Jenkins 流水線多階段構(gòu)建

    Jenkins 流水線多階段構(gòu)建

    Jenkins流水線配置遇到 無(wú)法識(shí)別的。需要使用 自定義環(huán)境 項(xiàng)。 比如官網(wǎng)的在流水線中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 28: Invalid agent type “

    2024年04月22日
    瀏覽(28)
  • 【Jenkins】Jenkins構(gòu)建后端流水線

    【Jenkins】Jenkins構(gòu)建后端流水線

    xxxx后端-后端cim服務(wù)測(cè)試環(huán)境-項(xiàng)目構(gòu)建 創(chuàng)建人:創(chuàng)建者姓名 時(shí)間:創(chuàng)建時(shí)間 保持構(gòu)建天數(shù):2 保持最大構(gòu)建個(gè)數(shù):3 ①clean:清楚之前;package:打包 -Dmaven.test.skip=true:跳過(guò)測(cè)試;-U:強(qiáng)制讓Maven檢查所有SNAPSHOT依賴更新 這里的pom.xml文件注意: Branches to build:分支某個(gè)環(huán)境的

    2024年02月12日
    瀏覽(18)
  • jenkins通過(guò)流水線進(jìn)行構(gòu)建jar包

    最近項(xiàng)目上需要進(jìn)行CICD,本篇博客主要分享各種騷操作 1.下載Jenkins.war包上傳到服務(wù)器上面,然后在同級(jí)目錄下面創(chuàng)建如下腳本:

    2024年02月14日
    瀏覽(26)
  • Jenkins部署Docker與Jenkins流水線

    Jenkins部署Docker與Jenkins流水線

    接上篇 1. 外掛文件的方式在docker容器中啟動(dòng) 2. 將構(gòu)建運(yùn)行放入docker容器中(不構(gòu)建鏡像) 修改Jenkins構(gòu)建前設(shè)置 修改部署后操作 重新構(gòu)建,已經(jīng)成功構(gòu)建在容器中 3. 將構(gòu)建運(yùn)行放入docker鏡像中(采用dockerfile) 1.編寫dockerfile,放入項(xiàng)目中, 注意不能和依賴的包同級(jí) 寫好可

    2024年01月22日
    瀏覽(47)
  • (十六)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線構(gòu)建之郵件通知

    (十六)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線構(gòu)建之郵件通知

    本節(jié)內(nèi)容主要介紹jenkins在流水線任務(wù)構(gòu)建完成后的通知操作,使用jenkins的郵件通知插件完成構(gòu)建任務(wù)結(jié)束的通知。一般項(xiàng)目發(fā)布都會(huì)通知相關(guān)的責(zé)任人,這樣項(xiàng)目發(fā)布在出現(xiàn)問(wèn)題時(shí)能夠及時(shí)的處理。 ①在插件中心安裝Email Extension郵件通知插件 ②申請(qǐng)一個(gè)發(fā)送郵件的郵箱服務(wù)

    2024年02月21日
    瀏覽(36)
  • (十五)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線構(gòu)建策略配置及觸發(fā)器的使用

    (十五)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線構(gòu)建策略配置及觸發(fā)器的使用

    本節(jié)內(nèi)容我們主要介紹在Jenkins流水線中,其構(gòu)建過(guò)程中的一些構(gòu)建策略的配置,例如通過(guò)遠(yuǎn)程http構(gòu)建、定時(shí)任務(wù)構(gòu)建、輪詢SCM構(gòu)建、參數(shù)化構(gòu)建、Git hook鉤子觸發(fā)構(gòu)建等,可根據(jù)不同的需求完成不同構(gòu)建策略的配置。 - 構(gòu)建策略說(shuō)明: - 測(cè)試驗(yàn)證 - 構(gòu)建說(shuō)明 - 測(cè)試驗(yàn)證 - 配置

    2024年02月21日
    瀏覽(36)
  • 【jenkins】idea+jenkins+docker+dockerfile+compose流水線部署java應(yīng)用

    【jenkins】idea+jenkins+docker+dockerfile+compose流水線部署java應(yīng)用

    目錄 整體架構(gòu) 環(huán)境準(zhǔn)備 安裝docker以及docker-compose jenkins安裝 maven安裝 portainer面板安裝 sonarqube安裝? 在項(xiàng)目中增加dockerfile和compose.yml腳本 ?Dockerfile腳本內(nèi)容 compose.yml腳本內(nèi)容 jenkins安裝必要插件 jenkins增加流水線任務(wù) 增加pipeline任務(wù)job ?增加pipeline腳本 WXWork Notification Plugin?

    2024年02月16日
    瀏覽(53)
  • Jenkins構(gòu)建流水線SSH連接Git錯(cuò)誤:Host key verification failed 報(bào)錯(cuò)問(wèn)題

    Jenkins構(gòu)建流水線SSH連接Git錯(cuò)誤:Host key verification failed 報(bào)錯(cuò)問(wèn)題

    報(bào)錯(cuò)信息: 無(wú)法連接倉(cāng)庫(kù): Command \\\"git ls-remote -h -- git@ip:xxx/xxx.git HEAD\\\" returned status code 128: stdout: stderr: No ED25519 host key is known for ip and you have requested strict checking. Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rightsand the repository exists

    2024年03月18日
    瀏覽(149)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包