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

DevOps持續(xù)集成-Jenkins(2)

這篇具有很好參考價(jià)值的文章主要介紹了DevOps持續(xù)集成-Jenkins(2)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

DevOps

DevOps概述

軟件開(kāi)發(fā)最初是由兩個(gè)團(tuán)隊(duì)共同組成:(沒(méi)有采用DevOps之前)

  • 開(kāi)發(fā)團(tuán)隊(duì):從頭開(kāi)始設(shè)計(jì)和整體系統(tǒng)的構(gòu)建(編寫代碼)。需要系統(tǒng)不停的迭代更新。
  • 運(yùn)維團(tuán)隊(duì):將開(kāi)發(fā)團(tuán)隊(duì)的代碼進(jìn)行測(cè)試通過(guò)后再部署上線。確保系統(tǒng)穩(wěn)定運(yùn)行。

沒(méi)有采用DevOps的缺點(diǎn):

  • 這看似兩個(gè)目標(biāo)不同的團(tuán)隊(duì)需要協(xié)同完成一個(gè)軟件的開(kāi)發(fā)。在開(kāi)發(fā)團(tuán)隊(duì)指定好計(jì)劃并完成編寫代碼后,需要把代碼交給運(yùn)維團(tuán)隊(duì)。運(yùn)維團(tuán)隊(duì)向開(kāi)發(fā)團(tuán)隊(duì)反饋需要修復(fù)的BUG以及一些需要返工的任務(wù)。這時(shí)開(kāi)發(fā)團(tuán)隊(duì)需要經(jīng)常等待運(yùn)維團(tuán)隊(duì)的反饋。這無(wú)疑會(huì)延長(zhǎng)整個(gè)軟件開(kāi)發(fā)的周期。

采用DevOps的優(yōu)點(diǎn)?

  • DevOps的方式可以讓公司能夠更快地應(yīng)對(duì)更新和市場(chǎng)發(fā)展變化,開(kāi)發(fā)可以快速交付,部署也更加穩(wěn)定。核心就在于簡(jiǎn)化Dev和Ops團(tuán)隊(duì)之間的流程,使整體軟件開(kāi)發(fā)過(guò)程更快速。說(shuō)白了就是DevOps有利于快速完成項(xiàng)目,不會(huì)浪費(fèi)時(shí)間)

整體的軟件開(kāi)發(fā)流程:

  • PLAN:開(kāi)發(fā)團(tuán)隊(duì)根據(jù)客戶的目標(biāo)制定開(kāi)發(fā)計(jì)劃
  • CODE:根據(jù)PLAN開(kāi)始編碼過(guò)程,需要將不同版本的代碼存儲(chǔ)在一個(gè)庫(kù)中。
  • BUILD:編碼完成后,需要將代碼構(gòu)建并且運(yùn)行。
  • TEST:成功構(gòu)建項(xiàng)目后,需要測(cè)試代碼是否存在BUG或錯(cuò)誤。
  • DEPLOY:代碼經(jīng)過(guò)手動(dòng)測(cè)試和自動(dòng)化測(cè)試后,認(rèn)定代碼已經(jīng)準(zhǔn)備好部署并且交給運(yùn)維團(tuán)隊(duì)。
  • OPERATE:運(yùn)維團(tuán)隊(duì)將代碼部署到生產(chǎn)環(huán)境中。
  • MONITOR:項(xiàng)目部署上線后,需要持續(xù)的監(jiān)控產(chǎn)品。
  • INTEGRATE:然后將監(jiān)控階段收到的反饋發(fā)送回PLAN階段,整體反復(fù)的流程就是DevOps的核心,即持續(xù)集成、持續(xù)部署。

為了保證整體流程可以高效的完成,各個(gè)階段都有比較常見(jiàn)的工具,如下圖:

Integrate工具(centos7-jenkins主機(jī))

Integrate概述
  • 持續(xù)集成、持續(xù)部署的工具很多,其中Jenkins是一個(gè)開(kāi)源的持續(xù)集成平臺(tái)。

  • Jenkins涉及到將編寫完畢的代碼發(fā)布到測(cè)試環(huán)境和生產(chǎn)環(huán)境的任務(wù),并且還涉及到了構(gòu)建項(xiàng)目等任務(wù)。

  • Jenkins需要大量的插件保證工作,安裝成本較高,下面會(huì)基于Docker搭建Jenkins。

Jenkins介紹
  • Jenkins是一個(gè)開(kāi)源軟件項(xiàng)目,是基于Java開(kāi)發(fā)的一種持續(xù)集成工具

  • Jenkins應(yīng)用廣泛,大多數(shù)互聯(lián)網(wǎng)公司都采用Jenkins配合GitLab、Docker、K8s作為實(shí)現(xiàn)DevOps的核心工具。

  • Jenkins最強(qiáng)大的就在于插件,Jenkins官方提供了大量的插件庫(kù),來(lái)自動(dòng)化CI/CD過(guò)程中的各種瑣碎功能。

  • Jenkins最主要的工作就是將GitLab上可以構(gòu)建的工程代碼拉取并且進(jìn)行構(gòu)建,再根據(jù)流程可以選擇發(fā)布到測(cè)試環(huán)境或是生產(chǎn)環(huán)境。經(jīng)過(guò)大量的測(cè)試后,確定發(fā)行版本,再發(fā)布到生產(chǎn)環(huán)境

CI/CD介紹
  • CI過(guò)程即是通過(guò)Jenkins將代碼拉取、構(gòu)建、制作鏡像交給測(cè)試人員測(cè)試。

    • 持續(xù)集成:讓軟件代碼可以持續(xù)的集成到主干上,并自動(dòng)構(gòu)建和測(cè)試。
  • CD過(guò)程即是通過(guò)Jenkins將打好標(biāo)簽的發(fā)行版本代碼拉取、構(gòu)建、制作鏡像交給運(yùn)維人員部署。

    • 持續(xù)交付:讓經(jīng)過(guò)持續(xù)集成的代碼可以進(jìn)行手動(dòng)部署。
    • 持續(xù)部署:讓可以持續(xù)交付的代碼隨時(shí)隨地的自動(dòng)化部署。
Linux下安裝最新版本的Jenkins?
  • 1:創(chuàng)建文件夾并跳轉(zhuǎn):
mkdir -p /root/jenkins && cd /root/jenkins
  • 2:拉取最新版本的Jenkins鏡像:(注意:Jenkins的版本最好在Github上找最新的版本,否則可能會(huì)出問(wèn)題?,我們目前最新的是2.359)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

docker pull jenkins/jenkins:2.359
  • 3:編寫docker-compose配置文件:
vi docker-compose.yml

內(nèi)容如下:

version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.359
    container_name: jenkins
    ports:
      - 9200:8080
      - 50000:50000
    volumes:
      - /usr/local/docker/jenkins_docker/data/:/var/jenkins_home/
  • 4:創(chuàng)建data目錄:
mkdir -p /usr/local/docker/jenkins_docker/data/
  • 5:設(shè)置data目錄寫權(quán)限:
chmod -R a+w /usr/local/docker/jenkins_docker/data/
  • 6:?jiǎn)?dòng)docker-compose文件:
docker-compose up -d
  • 7:進(jìn)去掛載目錄data,由于Jenkins需要下載大量?jī)?nèi)容,但是由于默認(rèn)下載地址下載速度較慢,需要重新設(shè)置下載地址為國(guó)內(nèi)鏡像站
cd /usr/local/docker/jenkins_docker/data/
rm -f hudson.model.UpdateCenter.xml
vi hudson.model.UpdateCenter.xml

內(nèi)容如下:(復(fù)制進(jìn)去即可)

<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>
  • 8:切換回Jenkins目錄:
cd /root/jenkins
  • 9:再次重啟Jenkins容器,訪問(wèn)Jenkins(需要等會(huì)):
docker-compose restart
  • 10:查看Jenkins登陸的密碼:
[root@centos7-jenkins jenkins]# docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
af057174db8b41808bb3ca224eb67f10
  • 11:登陸Jenkins,并安裝Jenkins插件:

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

Jenkins入門配置
安裝必備插件?
  • 需要安裝的插件以及版本(版本可以不按照我們下面的,如果安裝插件一直失敗就使用我們下面的版本進(jìn)行下載):
  • 環(huán)境:當(dāng)前我們的Jenkins(版本是:2.359):
    • 1:Git(版本:4.11.3)
    • 2:Git Parameter(版本:0.9.17)
    • 3:Publish Over SSH(版本:1.24)
安裝插件(方式一:可能有時(shí)會(huì)下載失?。?/h6>

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

安裝插件(方式二:本地安裝?)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

安裝Jenkins插件一直失敗解決方案?
  • 1:如果沒(méi)有配置Maven的國(guó)內(nèi)鏡像源,則要在上面安裝Maven的步驟中找到配置Maven的鏡像源進(jìn)行配置,這樣Jenkins下載插件的速度就會(huì)大大提高。
  • 2:如果已經(jīng)配置了Maven的國(guó)內(nèi)鏡像源,但還是一直下載插件失?。?/strong>
    • **解決方法一:**有可能是Jenkins版本太低,而我們下載的插件版本過(guò)高導(dǎo)致的。可以手動(dòng)指定Jenkins版本和Jenkins插件版本。
    • 解決方法二:去GitHub上找到目前最新,然后在dockerhub上把Jenkins版本并拉取下來(lái),也就是說(shuō)使用新版本的Jenkins即可。

解決方法二里面的找最新版本的方法圖解如下:?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

Jenkins實(shí)戰(zhàn)1:構(gòu)建Freestyle(自由風(fēng)格)的Jenkins項(xiàng)目(C I 持續(xù)集成操作?)

項(xiàng)目流程架構(gòu)圖?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

配置Jenkins的JDK和Maven
  • 1:把我們之前解壓的JDK目錄和Maven目錄都移動(dòng)到Jenkins的掛載目錄上?
    • Jenkins掛載目錄:/usr/local/docker/jenkins_docker/data/
    • JDK目錄:/usr/local/jdk/
    • Maven目錄:/usr/local/maven/
    • **對(duì)應(yīng)同步容器目錄:/var/jenkins_home/ **
cd /usr/local/docker/jenkins_docker/data/
mv /usr/local/jdk/ /usr/local/docker/jenkins_docker/data
mv /usr/local/maven/ /usr/local/docker/jenkins_docker/data
  • 2:在Jenkins可視化界面的全局配置中配置JDK和Maven:

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

配置Publish over SSH(通知目標(biāo)服務(wù)器插件)
  • 1:在目標(biāo)服務(wù)器(192.168.184.80)上創(chuàng)建一個(gè)目錄:(由于不想再新建一個(gè)Linux服務(wù)器,所以就把192.168.184.80作為目標(biāo)服務(wù)器)。
mkdir -p /usr/local/test
  • 2:開(kāi)始配置Publish over SSH:

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 這時(shí)我們就有一個(gè)新功能。Jenkins(192.168.184.80)可以利用publish over ssh插件來(lái)通知目標(biāo)服務(wù)器(192.168.184.80)。注意:目標(biāo)服務(wù)器也可以不使用192.168.184.80地址,可以用另外的服務(wù)器,沒(méi)有強(qiáng)制要求,什么服務(wù)器都可以作為目標(biāo)服務(wù)器。
在IDEA構(gòu)建一個(gè)springboot項(xiàng)目
測(cè)試項(xiàng)目圖

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

項(xiàng)目核心接口代碼
  • 1:JenkinsController.java
package com.boot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class JenkinsController {
    @ResponseBody
    @GetMapping(path = "/test")
    public String test(){

        return "hello Jenkins";
    }
}
  • 2:application.properties
spring.application.name=jenkins-demo
server.port=8082
第一步:將springboot項(xiàng)目上傳到GitLab上(用IDEA插件的方式?)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

第二步:將gitlab上面的項(xiàng)目代碼拉取到Jenkins中?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 查看代碼是否拉取成功:(可以看到代碼已經(jīng)成功拉取到Jenkins容器內(nèi)部了)
[root@centos7-jenkins jenkins] docker exec -it jenkins bash
[root@centos7-jenkins Jenkins容器] cd var/jenkins_home/workspace/mytest/
[root@centos7-jenkins Jenkins容器] ls
README.md  mvnw  mvnw.cmd  pom.xml  src
第三步:利用Maven構(gòu)建項(xiàng)目的jar包?
  • 在springboot項(xiàng)目中的pom.xml上配置maven插件:(加入這段代碼并上傳gitlab)
<build>
<!--        生成的jar包就是mytest.jar-->
        <finalName>mytest</finalName>
        <plugins>
<!--            配置maven插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
        <!--     版本需要指定為你當(dāng)前springboot版本-->
                <version>2.5.9</version>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
<!--                    指定主類,也就是springboot啟動(dòng)類-->
                    <mainClass>com.boot.JenkinsDemoApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
</build>
  • 開(kāi)始構(gòu)建jar包:
    • Build Steps 的Goals內(nèi)容如下:
clean package -DskipTests

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 查看是否構(gòu)建成功,以及構(gòu)建出來(lái)的jar包是否存在:(可以看到j(luò)enkins-demo-0.0.1-SNAPSHOT.jar就是我們構(gòu)建出來(lái)的jar包)
[root@centos7-jenkins jenkins]# docker exec -it jenkins bash
[root@centos7-jenkins 容器]# cd var/jenkins_home/workspace/mytest/target/
[root@centos7-jenkins 容器]# ls
classes		   generated-test-sources	    maven-archiver  test-classes
generated-sources  mytest.jar  maven-status
第四步:將構(gòu)建好的jar包push推送給指定的目標(biāo)服務(wù)器?
  • 提示:

    • 1:Transfer Set Source files:
    target/*.jar
    
  • 開(kāi)始配置遠(yuǎn)程推送jar包給目標(biāo)服務(wù)器:

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 查看我們的目標(biāo)服務(wù)器:

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 進(jìn)入目標(biāo)服務(wù)器的shell窗口,執(zhí)行命令:(可以看到j(luò)ar包已經(jīng)通過(guò)ssh遠(yuǎn)程推送到目標(biāo)服務(wù)器的文件夾上去了)
[root@centos7-jenkins jenkins]# cd /usr/local/test/target/
[root@centos7-jenkins target]# ls
mytest.jar
第五步:利用Dockerfile和推送過(guò)來(lái)的jar包在目標(biāo)服務(wù)器上生成image從而運(yùn)行出容器?
  • 1:在項(xiàng)目中編寫Dockerfile和docker-compose.yml文件,然后上傳到gitlab上去:

    • Dockerfile(內(nèi)容):
    FROM java:8
    COPY mytest.jar /usr/local/
    WORKDIR /usr/local
    CMD java -jar mytest.jar
    
    • docker-compose.yml(內(nèi)容):
    version: "3.1"
    services:
      mytest:
        build:
          context: ./
          dockerfile: Dockerfile
        image: mytest:v1.0.0
        container_name: mytest
        ports:
          - 8082:8082 #因?yàn)槲覀僡pplication.yml配置這個(gè)項(xiàng)目是8082端口
    

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 2:刪除目標(biāo)服務(wù)器一些文件夾:
[root@centos7-jenkins test]# rm -rf /usr/local/test/docker/ /usr/local/test/target/
  • 3:在Jenkins進(jìn)行配置:

    • Transfer Set Source files:
    target/*.jar docker/*
    
    • Exec command:
    cd /usr/local/test/docker
    mv ../target/*jar ./
    docker-compose down
    docker-compose up -d --build
    docker image prune -f
    

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

  • 4:Jenkins構(gòu)建完成之后查看鏡像和容器:(可以看到mytest:v1.0.0 已經(jīng)啟動(dòng)。)

    • 查看鏡像:
    [root@centos7-jenkins local]# docker images
    REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
    mytest            v1.0.0    db233798a206   2 minutes ago   661MB
    jenkins/jenkins   2.359     616d2581d755   7 days ago      463MB
    
    • 查看構(gòu)建出來(lái)的項(xiàng)目容器實(shí)例:
    [root@centos7-jenkins local]# docker ps
    CONTAINER ID   IMAGE                   COMMAND                  CREATED         STATUS             PORTS                                                                                      NAMES
    04146936e4ec   mytest:v1.0.0           "/bin/sh -c 'java -j…"   3 minutes ago   Up 3 minutes       0.0.0.0:8082->8082/tcp, :::8082->8082/tcp                                                  mytest
    5b69eb0eb387   jenkins/jenkins:2.359   "/usr/bin/tini -- /u…"   24 hours ago    Up About an hour   0.0.0.0:50000->50000/tcp, :::50000->50000/tcp, 0.0.0.0:9200->8080/tcp, :::9200->8080/tcp   jenkins
    
第六步:測(cè)試訪問(wèn)這個(gè)容器?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

Jenkins實(shí)戰(zhàn)2:構(gòu)建Freestyle(自由風(fēng)格)的Jenkins項(xiàng)目(C D 持續(xù)交付操作?)

  • Jenkins實(shí)戰(zhàn)2要建立Jenkins實(shí)戰(zhàn)1的基礎(chǔ)上。
  • 必須先完成Jenkins實(shí)戰(zhàn)1,在Jenkins實(shí)戰(zhàn)1的基礎(chǔ)上在做修改成CD模式。
注意:先完成Jenkins實(shí)戰(zhàn)1的步驟(?)

案例過(guò)程:在Jenkins實(shí)戰(zhàn)1的基礎(chǔ)上,通過(guò)修改部分內(nèi)容讓CI變成CD。

配置Jenkins根據(jù)gitlab的tag(標(biāo)簽)進(jìn)行構(gòu)建工程(?)

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

新增兩個(gè)新的tag標(biāo)簽?
v1.0.0的tag標(biāo)簽

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

v2.0.0的tag標(biāo)簽

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

開(kāi)始進(jìn)行Jenkins參數(shù)化構(gòu)建工程(基于gitlab上的tag?)
測(cè)試構(gòu)建v1.0.0的tag?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)

測(cè)試構(gòu)建v2.0.0的tag?

DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)
DevOps持續(xù)集成-Jenkins(2),Jenkins,Java成神之路,探索云原生,devops,jenkins,ci,云原生,容器,1024程序員節(jié)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-719355.html

到了這里,關(guān)于DevOps持續(xù)集成-Jenkins(2)的文章就介紹完了。如果您還想了解更多內(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)文章

  • SkyEye與Jenkins的DevOps持續(xù)集成解決方案

    SkyEye與Jenkins的DevOps持續(xù)集成解決方案

    在技術(shù)飛速發(fā)展的當(dāng)下,隨著各行各業(yè)的軟件邏輯復(fù)雜程度提升帶來(lái)的需求變更,傳統(tǒng)測(cè)試已無(wú)法滿足與之相對(duì)應(yīng)的一系列測(cè)試任務(wù),有必要引入一個(gè)自動(dòng)化、可持續(xù)集成構(gòu)建的DevOps平臺(tái)來(lái)解決此類問(wèn)題。本文將主要介紹SkyEye與Jenkins的持續(xù)集成解決方案。 何謂DevOps?DevOps是

    2024年02月15日
    瀏覽(23)
  • (十六)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的一些常用插件和工具的安裝

    (十九)devops持續(xù)集成開(kāi)發(fā)——jenkins的一些常用插件和工具的安裝

    本節(jié)內(nèi)容會(huì)著重介紹jenkins持續(xù)集成開(kāi)發(fā)工具的一些常用插件安裝以及全局工具的配置安裝,并說(shuō)明其主要作用。在開(kāi)始插件和工具安裝之前,我們要保證可以正常訪問(wèn)網(wǎng)絡(luò),并且使用國(guó)內(nèi)的插件更新地址,便于插件的正常安裝。官方的地址可能會(huì)導(dǎo)致安裝失敗。以下是一些可

    2024年04月27日
    瀏覽(47)
  • (十四)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線使用pipeline方式發(fā)布項(xiàng)目

    (十四)devops持續(xù)集成開(kāi)發(fā)——jenkins流水線使用pipeline方式發(fā)布項(xiàng)目

    本節(jié)內(nèi)容我們使用另外一種方式pipeline實(shí)現(xiàn)項(xiàng)目的流水線部署發(fā)布,Jenkins Pipeline是一種允許以代碼方式定義持續(xù)集成和持續(xù)交付流水線的工具。通過(guò)Jenkins Pipeline,可以將整個(gè)項(xiàng)目的構(gòu)建、測(cè)試和部署過(guò)程以腳本的形式寫入Jenkinsfile中,實(shí)現(xiàn)對(duì)整個(gè)流程的可視化管理和控制。在

    2024年02月21日
    瀏覽(35)
  • 『DevOps最佳實(shí)踐』使用Jenkins和Harbor進(jìn)行持續(xù)集成和交付的解決方案

    『DevOps最佳實(shí)踐』使用Jenkins和Harbor進(jìn)行持續(xù)集成和交付的解決方案

    ??讀完這篇文章里你能收獲到 全文采用圖文形式講解 學(xué)會(huì)使用Harbor配置項(xiàng)目 學(xué)會(huì)在Jenkins中配置Harbor推送權(quán)限 使用Jenkins和Harbor進(jìn)行持續(xù)集成的實(shí)踐 感謝點(diǎn)贊+收藏,避免下次找不到~ 在現(xiàn)代軟件開(kāi)發(fā)中,自動(dòng)化部署是提高效率和可靠性的關(guān)鍵。本文將帶你深入探索如何使用

    2024年02月08日
    瀏覽(26)
  • (十五)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)
  • golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    3-6個(gè)月幫助學(xué)員掌握golang后端開(kāi)發(fā)崗位必備技術(shù)點(diǎn) 教程時(shí)長(zhǎng): 150+小時(shí) 五大核心專欄,原理+源碼+案例分析+項(xiàng)目實(shí)戰(zhàn)直擊工作崗位 golang:解決go語(yǔ)言編程問(wèn)題 工程組件:解決golang工程化問(wèn)題 分布式中間件:解決技術(shù)棧單一及分布式開(kāi)發(fā)問(wèn)題 云原生:解決云原生分布式部署及監(jiān)

    2024年02月07日
    瀏覽(61)
  • 云原生系列2-CICD持續(xù)集成部署-GitLab和Jenkins

    云原生系列2-CICD持續(xù)集成部署-GitLab和Jenkins

    1、CICD持續(xù)集成部署 持續(xù)集成:簡(jiǎn)稱 CI 思想:每天要多次將代碼合并到主干,并進(jìn)行集成,測(cè)試,這樣就可以提早發(fā)現(xiàn)錯(cuò)誤,進(jìn)行修正。持續(xù)集成也屬于DevOps運(yùn)維開(kāi)發(fā)。 CI持續(xù)集成的好處: 1、自動(dòng)化集成部署,提高了集成效率。 2、更快的修復(fù)問(wèn)題。 3、更快的進(jìn)行交付。

    2024年02月02日
    瀏覽(25)
  • 云原生之旅第一課(2站搜索K8s成神之路)

    云原生之旅第一課(2站搜索K8s成神之路)

    自己動(dòng)手搭建Kubernetes集群,學(xué)習(xí)如何自定義CRD,以及使用Kubebuilder快速搭建Operator項(xiàng)目,云原生之旅第一課。從一開(kāi)始準(zhǔn)備錄制課程,到如今已經(jīng)有了500位忠實(shí)粉絲,我感到無(wú)比欣慰。這門課程完全開(kāi)源,每一集都是對(duì)比官網(wǎng)1比1,確保原汁原味。如果你也對(duì)云原生技術(shù)充滿好

    2024年04月12日
    瀏覽(20)
  • 【網(wǎng)課平臺(tái)】Day15.Devops:持續(xù)集成與持續(xù)交付

    【網(wǎng)課平臺(tái)】Day15.Devops:持續(xù)集成與持續(xù)交付

    一個(gè)軟件的生命周期包括:需求分析階、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、上線、維護(hù)、升級(jí)、廢棄。詳細(xì)如下: 產(chǎn)品人員進(jìn)行需求分析 設(shè)計(jì)人員進(jìn)行軟件架構(gòu)設(shè)計(jì)和模塊設(shè)計(jì) 每個(gè)模塊的開(kāi)發(fā)人員并行開(kāi)發(fā),設(shè)計(jì)接口、進(jìn)行編碼,并進(jìn)行單元測(cè)試 開(kāi)發(fā)完畢,將代碼集成部署到測(cè)試服務(wù)器

    2024年02月05日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包