最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins整合Docker自動化部署的實現(xiàn)

 更新時間:2023年11月28日 15:54:27   作者:Pole丶逐  
本文主要介紹了Jenkins整合Docker自動化部署的實現(xiàn),通過結合Jenkins的持續(xù)集成和Docker的容器化技術,可以高效地構建、測試和部署應用程序,感興趣的可以了解一下

1. Docker 安裝 Jenkins

1.1 拉取鏡像文件

docker pull jenkins/jenkins

1.2 創(chuàng)建掛載文件目錄

mkdir -p $HOME/jenkins_home

1.3 啟動容器

docker run -d -p 8080:8080 -v $HOME/jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins

1.4 進入容器查看初始密碼

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

1.5 登錄控制臺完成初始化

選擇安裝推薦的插件

在這里插入圖片描述

2. 配置自動化部署

2.1 配置項目文件

2.1.1 創(chuàng)建DockerFile文件

文件位置與Java文件目錄位置平級:

${WORKSPACE}/src/main/java

${WORKSPACE}/src/main/docker/DockerFile

在這里插入圖片描述

# 該鏡像需要依賴的基礎鏡像
FROM openjdk:8
ARG JAR_FILE
# 復制打包完成后的jar文件到/opt目錄下
COPY ${JAR_FILE} /project-name.jar
# 運行過程中創(chuàng)建一個project-name.jar文件
RUN bash -c 'touch /project-name.jar'
# 聲明服務運行在端口
EXPOSE 8801
ENV JAVA_OPTS="-Xms512m -Xmx2048m"
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /project-name.jar" ]
# 指定維護者的名字
MAINTAINER name

2.1.2 添加pom文件插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <executions>
                <execution>
                    <id>build-image</id>
                    <phase>package</phase>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--生產的鏡像名稱和版本-->
                <imageName>project-category/${project.artifactId}:${project.version}</imageName>
                <dockerHost>http://${dockerHost}:2375</dockerHost>
                <forceTags>true</forceTags>
                <!--dockerfile的位置-->
                <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                <!--jar名稱配置,用在dockerfile中,需要自己寫的可不用此配置-->
                <buildArgs>
                    <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                </buildArgs>
                <!--jar源位置-->
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>javax.activation</groupId>
                    <artifactId>activation</artifactId>
                    <version>1.1.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
    <!--build節(jié)點增加內容-->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <!--開啟過濾,用指定的參數(shù)替換directory下的文件中的參數(shù)-->
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

2.2 配置Jenkins

2.2.1 創(chuàng)建項目部署腳本

在這里插入圖片描述

2.2.2 選擇構建自由風格項目

在這里插入圖片描述

2.2.3 General - 丟棄舊的構建歷史,節(jié)省磁盤空間

在這里插入圖片描述

2.2.4 源碼管理 - 配置Git代碼地址

1,配置Git地址(SSH)

2,配置賬號密碼

3,配置代碼分支

在這里插入圖片描述

2.2.5 源碼管理 - 高級克隆行為

在這里插入圖片描述

在這里插入圖片描述

2.2.6 Build Steps - 調用頂層 Maven 目標

在這里插入圖片描述

2.2.6.1 編譯依賴項目

如果當前項目依賴了本地其他項目,則需要先打包依賴項目,沒有則跳過此步驟

目標:clean install -pl rely-project-name -am

POM:${WORKSPACE}/rely-project-name/pom.xml

注:依賴項目的pom文件位置

在這里插入圖片描述

2.2.6.2 打包部署項目

前提:此步驟需要目標服務器上的Docker進行過新增用戶組操作和開發(fā)2375端口操作

目標: clean package -Pdev -DdockerHost=ip docker:build

注:-P 代表走不同的配置環(huán)境(非必須)

POM:${WORKSPACE}/project-name/pom.xml

注:打包項目的pom文件位置

在這里插入圖片描述

2.2.7 Build Steps - Execute shell script on remote host using ssh

在目標部署服務器上將代碼打包成鏡像,并啟動為容器

1,配置SSH賬號密碼

2,Docker啟動容器命令

-p 端口設置需要與DockerFile文件設置一致

-d 鏡像名稱需要與本地項目pom文件中配置的一致

在這里插入圖片描述

docker stop  project-center
echo '----stop container----'
docker rm  project-center
echo 'rm cont'
docker rmi `docker images | grep none | awk '{print $3}'`
echo '----rm none images----'
docker run  -it  --network=host    -p 8801:8801 --name  project-center -d project-category/project-name:1.0-SNAPSHOT 
echo '----start container----'
docker cp -L /usr/share/zoneinfo/Asia/Shanghai  project-center:/etc/localtime
docker cp -L /usr/share/zoneinfo/Asia/Shanghai  project-center:/etc/timezone
docker restart project-center

到此這篇關于Jenkins整合Docker自動化部署的實現(xiàn)的文章就介紹到這了,更多相關Jenkins Docker自動化部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何使用docker compose安裝gitlab

    如何使用docker compose安裝gitlab

    使用Docker Compose安裝GitLab是一個相對簡單的過程,但需要按照一定的步驟來確保一切設置正確,這篇文章主要介紹了使用docker compose安裝gitlab,需要的朋友可以參考下
    2024-12-12
  • docker與firewalld沖突問題及解決過程

    docker與firewalld沖突問題及解決過程

    文章指出firewalld與Docker競爭iptables轉發(fā)鏈規(guī)則,導致互相覆蓋,解決方案一是先重啟firewalld再重啟Docker;二是針對Docker 20.10.0以上版本,將docker0接口移至docker區(qū)域以避免沖突
    2025-09-09
  • docker使用sftp做容器化部署的方法步驟

    docker使用sftp做容器化部署的方法步驟

    本文主要介紹了docker使用sftp做容器化部署的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-07-07
  • Docker容器實現(xiàn)SSH遠程直連

    Docker容器實現(xiàn)SSH遠程直連

    在某些特殊需求下,我們想ssh直接遠程連接docker 容器,本文主要介紹了Docker容器實現(xiàn)SSH遠程直連,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • docker創(chuàng)建容器的兩種實現(xiàn)方式(交互式與守護式)

    docker創(chuàng)建容器的兩種實現(xiàn)方式(交互式與守護式)

    這篇文章主要介紹了docker創(chuàng)建容器的兩種實現(xiàn)方式(交互式與守護式),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • 教你用100?行shell實現(xiàn)Docker詳解

    教你用100?行shell實現(xiàn)Docker詳解

    這篇文章主要為大家介紹了教你用100?行shell實現(xiàn)Docker詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • docker清理大殺器/docker的overlay文件占用磁盤太大的解決

    docker清理大殺器/docker的overlay文件占用磁盤太大的解決

    這篇文章主要介紹了docker清理大殺器/docker的overlay文件占用磁盤太大的解決操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker安裝kong網關的方法示例

    docker安裝kong網關的方法示例

    這篇文章主要介紹了docker安裝kong網關的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的詳細過程

    Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的詳細過程

    本文給大家介紹Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的相關知識,通過示例給大家詳細介紹創(chuàng)建一個nodejs程序的docker鏡像的方法,需要的朋友跟隨小編一起看看吧
    2021-06-06
  • 使用Docker部署Jenkins并實現(xiàn)自動化部署的全流程

    使用Docker部署Jenkins并實現(xiàn)自動化部署的全流程

    本文介紹了使用Docker部署Jenkins并實現(xiàn)自動化部署的完整路徑,涵蓋Docker環(huán)境準備與選擇、Jenkins容器部署與權限設置、DockerSocket與Docker-in-Docker兩種方案對比、Jenkins初始化與插件配置、憑證管理、Jenkinsfile自動化部署流水線、多分支流水線配置等等內容
    2026-05-05

最新評論

长顺县| 陇川县| 贡嘎县| 东莞市| 郎溪县| 朝阳县| 调兵山市| 安徽省| 平潭县| 杭州市| 自治县| 蓬莱市| 敖汉旗| 凤城市| 桐乡市| 辛集市| 平遥县| 东乡族自治县| 长沙市| 若尔盖县| 澄城县| 天峨县| 宝山区| 明星| 防城港市| 修水县| 漠河县| 万源市| 宁阳县| 扎鲁特旗| 乌鲁木齐市| 井研县| 威海市| 太谷县| 皋兰县| 雷州市| 临西县| 韶山市| 托克逊县| 大同县| 桦南县|